渗透命令汇总

su

su 和 su- 的区别:

  • su命令,只会更改当前用户,而不会更改当前的用户环境,比如你从oracle 用户su到root账户中,当前路径仍是你刚才的路径,环境变量仍是oracle用户的
  • su- 命令,则在更改当前用户信息的同时还会更改用户环境,但是假如你从oracle 用户su -到root账户,你会发现你的当前路径已经变为/root/,环境变量也变了

export

export命令是一条用于在Unix/Linux系统中==设置环境变量==的命令。它可以将一个变量赋值给一个环境变量,使得该变量在当前的Shell会话中可用,并可以在该会话中被其他程序或脚本使用。

export命令的基本语法如下:

export VARIABLE_NAME=VALUE

其中,VARIABLE_NAME是要设置的环境变量的名称,VALUE是该变量的值。

例如,要将一个名为PATH的环境变量设置为"/usr/local/bin:/usr/bin:/bin",可以使用以下命令:

export PATH="/usr/local/bin:/usr/bin:/bin"

需要注意的是,export命令只在当前的Shell会话中有效。如果想要将环境变量设置为全局变量,可以将export命令添加到shell的配置文件(如.bashrc或.bash_profile)中。这样,在每次登录或启动新的Shell时,该环境变量都会自动设置。

sudo

简介

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

原理

sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。

参数

-V 显示版本编号
-h 会显示版本编号及指令的使用方式说明
-i 切换用户身份到root
==-l== 显示出自己(执行 sudo 的使用者)的sudo权限,并确定可以执行哪些命令以及以哪种身份执行。
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b 将要执行的指令放在背景执行
-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

uname

常用于查看系统架构msf生成后门

uname是一个常用的命令行指令,用于获取操作系统的相关信息。它可以用于不同的操作系统,例如Linux、UNIX、macOS等。uname的全称是"UNIX name",它可以打印出当前操作系统的一些基本信息,包括操作系统名称、内核版本号、处理器类型等。

uname指令可以接受一些参数来获取不同的信息,常用的参数包括:

  • -a(或--all):打印所有可用信息;
  • -s(或--kernel-name):打印内核名称;
  • -n(或--nodename):打印网络节点主机名;
  • -r(或--kernel-release):打印内核版本;
  • -v(或--kernel-version):打印内核详细版本信息;
  • -m(或--machine):打印硬件名称;
  • -p(或--processor):打印处理器类型;
  • -i(或--hardware-platform):打印硬件平台;
  • -o(或--operating-system):打印操作系统名称。

compgen -c

查看能使用的命令

find

linux下每个目录的权限也是不同的,有些命令需要特定的权限下才能执行,我们可以用find命令找到特定权限的目录

find / -user www-data -type d

寻找特权文件

find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 -user root -print 2>/dev/null
它的含义是在根目录下查找所有属主为root且具有设置了SUID权限的文件,并将结果打印出来。这个命令通常用于查找具有特殊权限的文件,这些文件可以被以root用户的身份执行,即使其他用户没有执行权限。通过将结果重定向到/dev/null,可以将错误信息屏蔽掉,只显示查找结果。
设置了SUID权限的权限的值是4000。这指示当用户执行该文件时,将使用文件的所有者的权限而不是执行用户的权限。

python

起web服务,搭配wget使用

python -m Web服务器模块 [端口号,默认8000]
这里的“Web服务器模块”有如下三种:
BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。

启动http服务
    对于Python2,简单搭建Web服务器,只需在需要搭建Web服务器的目录(如 /home/pythontab/)下,输入如下命令:
python -m SimpleHTTPServer 8080
    对于Python3,其创建Web服务器的等价命令,如下:
python -m http.server 8080

-d/--directory 参数指定工作目录
可以通过 -b/--bind 指定地址

交互式窗口

python -c 'import pty; pty.spawn("/bin/bash")'

openssl

openssl可以实现:秘钥证书管理、对称加密和非对称加密 。

加密算法

对称加密算法
OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。

非对称加密算法
OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。

信息摘要算法
OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实上包括了SHA和SHA1两种信息摘要算法,此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSS和DSS1。

相较于使用ssh-keygen,使用openssl也可以设定用于ssh连接的非对称密钥对

tasklist /svc

查看进程和运行的exe

ftp

命令 说明
ftp 访问 ftp 命令解释程序。
ftp remote-system 建立与远程系统的 ftp 连接。有关说明,请参见如何打开与远程系统的 ftp 连接
open 从命令解释程序登录到远程系统。
close 从远程系统注销并返回到命令解释程序。
bye 退出 ftp 命令解释程序。
help 列出所有 ftp 命令;或者如果提供了命令名称,则简要说明该命令所执行的操作。
reset 使命令-回复序列与远程 ftp 服务器再次同步。
ls 列出远程工作目录的内容。
pwd 显示远程工作目录的名称。
cd 更改远程工作目录。
lcd 更改本地工作目录。
mkdir 在远程系统上创建目录。
rmdir 删除远程系统上的目录。
get, mget 将远程工作目录中的某个文件(或多个文件)复制到本地工作目录。
put, mput 将本地工作目录中的某个文件(或多个文件)复制到远程工作目录。
delete, mdelete 删除远程工作目录中的某个文件(或多个文件)。

ftp -s:ftp.txt,ftp处理txt中记录的命令,如:

open 192.168.111.6 21 
dongyu
123456
bin
put hello.txt
bye 

net

0%