今天培训已经很累了,我们结束了态势感知和三级跳板的课程,开始了网络侦查的学习。
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的。
点击“开始”旁边的图标,添加角色,选择AD域服务器,但是没法和dns服务器一起选择,只能先装ad,再装dns。安装完了之后改名为dc,重启发现:
也是根据博客,不细说了。不同在于设在student这个OU下,叫做zq和sb
安装xp的时候,没激活,然后本地管理员adminnistrator的密码也是dajiba123@。注意,域管administrator和本地管理员administrator同名,但是不是一个人,前者可以登录到域内任何主机,后者只能本地登录本机。
对于dc除外,dc的本地管理员,就是域管理员。
在创建xp的时候,直接选“工作组”,千万不要贪去选直接加入域,网上的教程都是新建了虚拟机之后再加入域的。
更改windows xp的域
右键点击计算机—>属性—>计算机名—>更改—>点击域(填写域名topsecedu.com)(记住计算机名,在后面有用)如图
怎么验证xp已经确实加入域内了呢??用zq这个域用户登录xp,如图:
再用sb试试,点击注销,然后换sb用户:
再用域管administrator试试,发现也行
通过这个administrator界面的不同,也可以看出,对于普通的域内主机来说,域管的administrator和本地的administrator(admin)就不是同一个人,仅仅是同名而已
而且,在dc的这个位置,可以看到xp加入域了:
主要参考了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了!
验证登录,注销后用zq@xixixi.com 登录即可
有些命令只有在域环境下可以出结果,所以我有的命令会在之前搭建的xp或者2012下执行,主要是熟悉命令,知道用法。主要参考https://cloud.tencent.com/developer/article/1665868 书籍是:《内网安全攻防》学习笔记
wmic product get name,version
wmic service list brief
wmic process list brief
wmic startup list brief
wmic netuse list brief,但是有区别,前者查的是共享的驱动盘,后者是查共享的资源。
wmic timezone list brief
wmic useraccount list brief
wmic ntdomain list brief
wmic logon list brief 似乎在域内看到的多:
wmic qfe list brief
wmic product where "Name like '%FEKO%'" call uninstall
中间那个是要卸载的程序名
比如卸载掉对方的杀软,但是动作很大,而且wmic
只有在通过Windows安装程序安装时才会卸载它们。
Wmic process where name=“XXX.exe” call terminate 和2.11差不多
wmic computersystem get Name, Domain, Manufacturer, Model, Username, Roles/format:list
我们还可以添加下列过滤器来获取更精准的扫描结果:
Roles:它可以给我们提供目标设备在整个网络系统中所扮演的角色,例如工作站、服务器或个人PC等等。
Manufacturer:它可以给我们提供目标系统的制造商和设备型号,因为某些特定制造商所生产的特定型号设备会存在特定的漏洞,因此我们可以利用这部分信息来寻找存在漏洞的设备。
UserName:它可以给我们返回系统的用户名,我们可以利用这部分信息来区分谁是管理员谁是普通用户。
[/format:list]:以列表格式输出数据并排列。
wmic group get Caption, InstallDate, LocalAccount, Domain, SID, Status
同sid在域内可以使用资源委派攻击
比如我创建一个64位的进程后,把minikatz翻进去才可以运行kiwi抓明文密码
WMIC命令的process选项可以帮助我们在目标用户的系统中创建各种进程。这种功能可以帮助我们创建后门,或占用大量目标系统的内存:
wmic process call create “[Process Name]”
wmic process call create “taskmgr.exe”
你可以从下图中看到,这个命令不仅会创建一个进程,而且还会赋予相应的进程ID,所以我们就可以根据我们的需要来修改进程信息了。
WMIC命令的process选项还可以帮我们修改目标系统中运行进程的优先级,这是一个非常有用的功能。降低某个进程的优先级可能会导致特定的应用程序发生崩溃,而提升某个进程的优先级甚至还会导致整个系统发生崩溃。
wmic process where name=”explorer.exe” call set priority 64
wmic process where name=”explorer.exe” call terminate
wmic environment get Description, VariableValue
wmic onboarddevice get Desciption, DeviceType, Enabled, Status /format:list
貌似用不了
wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe
wmic nteventlog where filename='[logfilename]’ cleareventlog
wmic nteventlog where filename=’system’ cleareventlog
不过需要高权限:
摘自浅笑996大佬的博客《内网渗透---Linux下信息收集》还有谢公子《后渗透之Linux信息收集》
uname –a 查看所有信息
ls /root |grep vmlinuz
ps aux 查看进程信息
ps –ef查看进程信息
使用dpkg –l查看安装的软件包
查看apache配置文件
Cat/etc/apache2/apache2.conf
有点像信息泄露
网卡:cat /etc/network/interfaces
Dns: cat /etc/resolv.conf
Firewall : iptables -------------------------root
Netstat
Route
sudo cat /var/log/syslog查看系统日志
使用w 、who、lastlog等命令查看登陆日志
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 // 收集域管理员列表