今天培训已经很累了,我们结束了态势感知和三级跳板的课程,开始了网络侦查的学习。
一、搭建域环境
DC是win2008R2,为了方便我设置3台机子都是host-only,并且静态ip
域内情况如下:
域名:xixixi.com DNS:DC 主机名:dc
AD:
域管:administrator,密码dajiba123@
普通域内用户:zq 密码dajiba123@ sb 密码dajiba123@
DC: dc.xixixi.com ip:172.16.75.128 os: win2012 R2
域内主机1: xp.xixixi.com ip: 172.16.75.129 os: winXP 本地管理员administrator
域内主机2: centos.xixixi.com ip: 172.16.75.130 os: centOS7
搭建开始,先搭建DC,主要参考博客是:《Windows环境下搭建域环境》来自CSDN“想走安全的小白”的博客。还有参考《Windows Server2008 R2搭建域环境(步骤最详细)》作者阿南-anan:https://blog.csdn.net/weixin_42380348/article/details/89387352
安装2012的时候记得选择stand完全安装,这样会有gui和服务器。一进去会发现这样的图片:
不用理会就行,直接点击,然后设置静态ip,记得dns要和dc的ip一样,因为一般都是把dc“当做”dns的。
1.1安装AD域服务器和DNS服务器
点击“开始”旁边的图标,添加角色,选择AD域服务器,但是没法和dns服务器一起选择,只能先装ad,再装dns。安装完了之后改名为dc,重启发现:
1.2创建除了adminisitrator之外的两个域内用户zq和sb
也是根据博客,不细说了。不同在于设在student这个OU下,叫做zq和sb
1.3 XP加入域
安装xp的时候,没激活,然后本地管理员adminnistrator的密码也是dajiba123@。注意,域管administrator和本地管理员administrator同名,但是不是一个人,前者可以登录到域内任何主机,后者只能本地登录本机。
对于dc除外,dc的本地管理员,就是域管理员。
在创建xp的时候,直接选“工作组”,千万不要贪去选直接加入域,网上的教程都是新建了虚拟机之后再加入域的。
更改windows xp的域
右键点击计算机—>属性—>计算机名—>更改—>点击域(填写域名topsecedu.com)(记住计算机名,在后面有用)如图
怎么验证xp已经确实加入域内了呢??用zq这个域用户登录xp,如图:
再用sb试试,点击注销,然后换sb用户:
再用域管administrator试试,发现也行
通过这个administrator界面的不同,也可以看出,对于普通的域内主机来说,域管的administrator和本地的administrator(admin)就不是同一个人,仅仅是同名而已
而且,在dc的这个位置,可以看到xp加入域了:
1.4centOS7加入域
主要参考了csdn小心灵呀大佬的博客《centos系统加入windows域》
先改主机名:,下图:
再改/etc/hosts :
然后下载一堆安装包:
yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python -y
再把网段改回来,这时候看/etc/resvolf.conf文件,是正常的,这个文件可理解为Windows下的dns改动。
遇到一个问题,是因为centos和dc的时间差太大(大于5min)导致的,修改过程如下:
在dc上看到成功加入xixixi.com了!
- wmic的渗透使用
有些命令只有在域环境下可以出结果,所以我有的命令会在之前搭建的xp或者2012下执行,主要是熟悉命令,知道用法。主要参考https://cloud.tencent.com/developer/article/1665868 书籍是:《内网安全攻防》学习笔记
2.1查看安装的软件及版本、路径等
wmic product get name,version
2.2查询本机服务信息
wmic service list brief
2.3查询进程列表
wmic process list brief
2.4搜索启动程序
wmic startup list brief
2.5搜索共享驱动盘(有点像net share)
wmic netuse list brief,但是有区别,前者查的是共享的驱动盘,后者是查共享的资源。
2.6搜索时区
wmic timezone list brief
2.7用户账户
wmic useraccount list brief
2.8搜索域控
wmic ntdomain list brief
2.9搜索登录用户
wmic logon list brief 似乎在域内看到的多:
2.10搜索已安装的(查补丁)
wmic qfe list brief
2.11卸载程序
wmic product
where"Name like '%FEKO%'"
call uninstall
中间那个是要卸载的程序名
比如卸载掉对方的杀软,但是动作很大,而且wmic
只有在通过Windows安装程序安装时才会卸载它们。
2.12停止程序
Wmic process where name=“XXX.exe” call terminate 和2.11差不多
2.13获取系统角色、用户名和制造商
wmic computersystem get Name, Domain, Manufacturer, Model, Username, Roles/format:list
我们还可以添加下列过滤器来获取更精准的扫描结果:
Roles:它可以给我们提供目标设备在整个网络系统中所扮演的角色,例如工作站、服务器或个人PC等等。
Manufacturer:它可以给我们提供目标系统的制造商和设备型号,因为某些特定制造商所生产的特定型号设备会存在特定的漏洞,因此我们可以利用这部分信息来寻找存在漏洞的设备。
UserName:它可以给我们返回系统的用户名,我们可以利用这部分信息来区分谁是管理员谁是普通用户。
[/format:list]:以列表格式输出数据并排列。
2.14查找账户名、域名、本地组成员状态、SID以及相应的状态
wmic group get Caption, InstallDate, LocalAccount, Domain, SID, Status
同sid在域内可以使用资源委派攻击
2.15创一个进程
比如我创建一个64位的进程后,把minikatz翻进去才可以运行kiwi抓明文密码
WMIC命令的process选项可以帮助我们在目标用户的系统中创建各种进程。这种功能可以帮助我们创建后门,或占用大量目标系统的内存:
wmic process call create “[Process Name]”
wmic process call create “taskmgr.exe”
你可以从下图中看到,这个命令不仅会创建一个进程,而且还会赋予相应的进程ID,所以我们就可以根据我们的需要来修改进程信息了。
2.16修改进程优先级
WMIC命令的process选项还可以帮我们修改目标系统中运行进程的优先级,这是一个非常有用的功能。降低某个进程的优先级可能会导致特定的应用程序发生崩溃,而提升某个进程的优先级甚至还会导致整个系统发生崩溃。
wmic process where name=
”
explorer.exe
”
call set priority 64
2.17终止进程
wmic process where name=
”
explorer.exe
”
call terminate
2.18定位系统文件
wmic environment get Description, VariableValue
2.19判断是否虚拟机
wmic onboarddevice get Desciption, DeviceType, Enabled, Status /format:list
貌似用不了
2.20判断杀软
wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe
2.21清理日志
wmic nteventlog where filename='[logfilename]’ cleareventlog
wmic nteventlog where filename=’system’ cleareventlog
不过需要高权限:
- Linux渗透的信息收集
摘自浅笑996大佬的博客《内网渗透---Linux下信息收集》还有谢公子《后渗透之Linux信息收集》
3.1cat /etc/issue查看系统名称
3.2Lsb-release查看系统名称、版本号
3.3内核版本信息:
uname –a 查看所有信息
ls /root |grep vmlinuz
3.4进程
ps aux 查看进程信息
ps –ef查看进程信息
3.5安装的软件
使用dpkg –l查看安装的软件包
3.6服务配置
查看apache配置文件
Cat/etc/apache2/apache2.conf
有点像信息泄露
3.7网络配置
网卡:cat /etc/network/interfaces
Dns: cat /etc/resolv.conf
Firewall : iptables -------------------------root
Netstat
Route
3.8用户信息
3.9日志信息
sudo cat /var/log/syslog查看系统日志
使用w 、who、lastlog等命令查看登陆日志
3.10工具扫描
Arpscan/
git clone https://github.com/attackdebris/arpscan.gitmakechmod +x arpscan./arpscan
Netbios
wget http://www.unixwiz.net/tools/nbtscan-source-1.0.35.tgztar xf nbtscan-source-1.0.35.tgzmakechmod +x nbtscan./nbtscan 192.168.111.1/24
- 域内信息收集
可以看博客《热热的雨夜》之前这个作者有过非常详细的记录,谢公子也有:
判断是否有域的几种方法
ipconfig /allsysteminfo
net time /domain (这个有三种情况
net config workstation 查看当前登录域
域内存活主机探测
利用netbios探测主机存活
工具:nbtscan
利用icmp协议探测内网
ping命令:
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="
域内端口扫描
telnet命令扫描
s扫描器
s.exe TCP 192.168.52.1 192.168.52.254 端口号 /Banner /save
metasploit端口扫描模块
auxiliary/scanner/portscan/tcp
0x04 查找域控制器
nltest /DCLIST:***
net group "Domain Controllers" /domain
netdom query pdc
nslookup -type=SRV _LDAP._tcp
net time /domain
获取域内用户和管理员
查询所有域用户列表
net user /domainwmic useraccount get /alldsquery usernet localgroup administrators /domain
查询域管理员用户组
net group "domain admins" /domainnet group "Enterprise Admains" /domain
定位域管理员
利用工具(这里就推荐三个
PsLoggedon.exeNetSess.exe // 查看主机当前会话PVEFindADUser.exe -current
查找域管理进程
1、本机检查
net group "Domain Admins" /domain //获取域管理员列表tasklist /v // 列出本机所有进程及进程用户
查询域控制器的域用户会话
net group "Domain Controllers" /domain // 收集域控制器的列表net group "Domain Admins" /domain // 收集域管理员列表