Wednesday, May 31, 2023

Linux Command Line Hackery Series - Part 5



Welcome back to the Linux Command Line Hackery series, this is Part-V of the series. Today we are going to learn how to monitor and control processes on our Linux box, so wrap your sleeves up and let's get started.

Command:    ps
Syntax:           ps [options]
Description:  ps displays information about the currently running processes. Some of the common flags of ps are described briefly below
Flags: 
  -A or -e -> select all processes
  -a -> select all processes except both session leaders and processes not associated with a terminal.
  T -> select all processes associated with current terminal
  -u <username or id> -> select all processes of a given user or userlist

Open up a terminal and type ps:

ps

what you'll see is a list of processes currently running in your terminal. One important thing to notice in the output is what's called as PID which stands for process ID. It is the number that uniquely identifies a process. Just keep that PID concept in mind we'll use it soon.

OK I know that's not really what you want to see rather you want to see all the processes that are currently running on your box. Don't worry we have flags to rescue, in order to see all the processes you can use the -e flag like this:

ps -e

Boom! you get a long list of processes currently running on your machine (don't stare at me like that, you asked and I gave you that). If you want to see processes of a particular user you can type the following command in your terminal:

ps -u bob

here "bob" is a username. This command will list all processes of the user with effective user name of bob.

You can do a full-format listing of the processes using the -f flag like this:

ps -fu bob

But the output of the ps command is a snapshot not really a live preview of what is going on in your box. I know your next question is going to be something like this, Isn't there a command in Linux that gives me a live updating information of the processes? Yes, there is a command called top that we'll learn about next.

Command:    top
Syntax:           top [options]
Description:  top gives a dynamic real-time view of a running system. That is, it gives the up-to-date information about all the processes running on your Linux box (sounds fun!). Besides giving information about current processes and threads top also provides a brief system summary.

To start top just type this command:

top

and you'll get a nice and cute looking ugly display :). Well what the heck is going on here you might ask, right? What you get is information about what is going on with your computer. To see what more can you do with top just type <h> within the program window and you'll be given list of options that you can play with.

OK looking at what processes are going on in your box is cool but what if you want to terminate (or close) a process, is there a command line utility for that? Yes, there is and that's what we are going to look at next.

Command:   kill
Syntax:          kill [options] <pid> [...]
Description:  kill is used to send a signal to process which by default is a TERM signal meaning kill by default sends a signal of termination to process (Cruel guy). To list the available signals we can use the -l or -L flag of the kill command.


To simply terminate a process we provide kill command a PID (process ID) and it will send the TERM signal to the process. So to kill a process first we'll list the running processes and then we'll keep the PID of the process in mind that we want to terminate. After that we'll issue the kill command with the PID that we just found.

ps -ax
kill 1153

the above command will send a TERM signal to the process whose PID is 1153, as simple as that.

We can also use our already learned skills to refine the output of ps command. Say we have a xterm terminal running on our box and we want to terminate it. By using ps command all alone we'll get a long listing of all processes running on our box. But we can limit the output of ps command to just those processes that we're interested in by piping ps command with the grep command like this:

ps -ax | grep xterm

wow! that's amazing, we're able to pull out only those results from the ps command that contained xterm in them. Isn't that a cool trick? But what is that vertical bar ( ) doing in the middle, you may be thinking, right? Remember we learned about the input and output re-directors previously, the vertical bar (pipe in geeky terms) is another re-director whose task is to redirect the output of one command as input to another command. Here the pipe redirects the output of ps -ax command as input to grep command and of-course from the previous article you know that grep is used to search for a PATTERN in the given input. That means the above command searches for the xterm word in the output of ps -ax command and then displays just those lines of ps -ax command which contain xterm. Now get that PID and kill that process.

That's it for today, try these commands up on your own box and remember practice is gonna make you master the Linux command line. :)

Related articles

How To Install And Run Backtrack On Android

Guide you step by step to How to install and run Backtrack on android. As the Backtrack is also available with ARM architecture which makes it possible to run Backtrack on an ARM machine such as mobiles or tablets.
Recently, We are discussed Install and Run BackTrack on Windows. Android is the best OS for penetration testing. It designed for digital forensics and penetration testing or hacking tool. It comes with many more updated tools. As the Backtrack is also available with ARM architecture which makes it possible to run Backtrack on an ARM machine such as mobiles or tablets.
How To Install and Run Backtrack On AndroidRequirements
Step to Install and Run Backtrack On Android:
First of all extract the BT5-GNOME-ARM.7z. and copy the "BT5" folder and then put in your phone's root directory. Here mine phone is /sdcard. The root directory is different for different mobile devices.
  • Now install all the above apps BusyboxAndroid TerminalAndroid Vnc.
  • After installing BusyBox application open it and wait until it finishes loading and then click on Smart install.
  • Now open the android terminal and type the following command:
    su cd /sdcard/BT5sh bootbtNOTE :- When you type su in terminal it will ask you for superuser request and you have to tap on Grant.
  • After this, type the following commands in terminal.
    export USER=rootvncpasswd
  • After entering vncpasswd the terminal will ask you to enter the password. Enter the desired password and hit enter.
  • Now type the following commands.
    tightvncserver -geometry 1280×720
  • The terminal emulator will create the localhost to connect it to VNC server. Now note the localhost port marked red below. Now minimize the terminal emulator.
  • Open the Android VNC and type the following settings.
Nickname : BT5
Password : your password here which you entered in terminal (step no.6)
Address : localhost
Port : 5906
NOTE: Make sure that your localhost's port matches with terminal's localhost. Here mine New 'X' desktop is localhost:6. You may be different. So, in VNC type Port 590X where the "X" is the localhost in the android terminal.
That's it now just tap on connect to run the Backtrack on your android. So in this way you successfully install and run backtrack 5 on android. If you face any problem feel free to discuss in below comments!

More info


Defcon 2015 Coding Skillz 1 Writeup

Just connecting to the service, a 64bit cpu registers dump is received, and so does several binary code as you can see:



The registers represent an initial cpu state, and we have to reply with the registers result of the binary code execution. This must be automated becouse of the 10 seconds server socket timeout.

The exploit is quite simple, we have to set the cpu registers to this values, execute the code and get resulting registers.

In python we created two structures for the initial state and the ending state.

cpuRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
finalRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}

We inject at the beginning several movs for setting the initial state:

for r in cpuRegs.keys():
    code.append('mov %s, %s' % (r, cpuRegs[r]))

The 64bit compilation of the movs and the binary code, but changing the last ret instruction by a sigtrap "int 3"
We compile with nasm in this way:

os.popen('nasm -f elf64 code.asm')
os.popen('ld -o code code.o ')

And use GDB to execute the code until the sigtrap, and then get the registers

fd = os.popen("gdb code -ex 'r' -ex 'i r' -ex 'quit'",'r')
for l in fd.readlines():
    for x in finalRegs.keys():
           ...

We just parse the registers and send the to the server in the same format, and got the key.


The code:

from libcookie import *
from asm import *
import os
import sys

host = 'catwestern_631d7907670909fc4df2defc13f2057c.quals.shallweplayaga.me'
port = 9999

cpuRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
finalRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
fregs = 15

s = Sock(TCP)
s.timeout = 999
s.connect(host,port)

data = s.readUntil('bytes:')


#data = s.read(sz)
#data = s.readAll()

sz = 0

for r in data.split('\n'):
    for rk in cpuRegs.keys():
        if r.startswith(rk):
            cpuRegs[rk] = r.split('=')[1]

    if 'bytes' in r:
        sz = int(r.split(' ')[3])



binary = data[-sz:]
code = []

print '[',binary,']'
print 'given size:',sz,'bin size:',len(binary)        
print cpuRegs


for r in cpuRegs.keys():
    code.append('mov %s, %s' % (r, cpuRegs[r]))


#print code

fd = open('code.asm','w')
fd.write('\n'.join(code)+'\n')
fd.close()
Capstone().dump('x86','64',binary,'code.asm')

print 'Compilando ...'
os.popen('nasm -f elf64 code.asm')
os.popen('ld -o code code.o ')

print 'Ejecutando ...'
fd = os.popen("gdb code -ex 'r' -ex 'i r' -ex 'quit'",'r')
for l in fd.readlines():
    for x in finalRegs.keys():
        if x in l:
            l = l.replace('\t',' ')
            try:
                i = 12
                spl = l.split(' ')
                if spl[i] == '':
                    i+=1
                print 'reg: ',x
                finalRegs[x] = l.split(' ')[i].split('\t')[0]
            except:
                print 'err: '+l
            fregs -= 1
            if fregs == 0:
                #print 'sending regs ...'
                #print finalRegs
                
                buff = []
                for k in finalRegs.keys():
                    buff.append('%s=%s' % (k,finalRegs[k]))


                print '\n'.join(buff)+'\n'

                print s.readAll()
                s.write('\n'.join(buff)+'\n\n\n')
                print 'waiting flag ....'
                print s.readAll()

                print '----- yeah? -----'
                s.close()
                



fd.close()
s.close()





Read more


  1. Hack Tool Apk
  2. What Are Hacking Tools
  3. Hacker Tools Online
  4. Hack And Tools
  5. Hacking Tools For Pc
  6. Android Hack Tools Github
  7. Pentest Tools Apk
  8. Pentest Tools Port Scanner
  9. Hak5 Tools
  10. Hacker Tools Linux
  11. Pentest Tools Website
  12. Hacking Tools For Pc
  13. Hacker Tools Linux
  14. Pentest Tools Open Source
  15. Hacking Tools
  16. Hackrf Tools
  17. Hack Tools Download
  18. Hacking Tools For Games
  19. Ethical Hacker Tools
  20. New Hack Tools
  21. Pentest Tools Alternative
  22. Hack Tool Apk No Root
  23. Pentest Tools Port Scanner
  24. Hacker Search Tools
  25. Pentest Tools Nmap
  26. Pentest Tools Tcp Port Scanner
  27. Hacker Tools 2019
  28. Pentest Tools Android
  29. Hacking Tools For Kali Linux
  30. Hacker Tools Github
  31. How To Make Hacking Tools
  32. Hacking Tools For Games
  33. Pentest Tools Open Source
  34. Hack Tools
  35. Hack Apps
  36. Hacker Tools 2020
  37. Pentest Tools For Windows
  38. Hacker Tools Free
  39. Hacker Tools For Ios
  40. Underground Hacker Sites
  41. Hacker Tools Software
  42. Hacks And Tools
  43. Pentest Tools Website Vulnerability
  44. Hacker Tools 2019
  45. Best Pentesting Tools 2018
  46. Hack Tool Apk No Root
  47. Hacking App
  48. Hacker Tools 2019
  49. Pentest Tools Github
  50. Hack Tools For Mac
  51. Hack Website Online Tool
  52. Pentest Tools Android
  53. Pentest Automation Tools
  54. Hacker Tools Online
  55. Hacking Tools Kit
  56. Black Hat Hacker Tools
  57. Pentest Tools Github
  58. Install Pentest Tools Ubuntu
  59. World No 1 Hacker Software
  60. Nsa Hack Tools Download
  61. Computer Hacker
  62. Hacking Tools 2019
  63. Pentest Automation Tools
  64. Hack Apps
  65. Hacking Tools Pc
  66. Hacking Tools And Software
  67. Hack App
  68. Hacking Tools Windows 10
  69. Pentest Recon Tools
  70. Hacker Tools For Mac
  71. Wifi Hacker Tools For Windows
  72. Best Pentesting Tools 2018
  73. Hacking Tools Usb
  74. Hacker Tools For Ios
  75. What Is Hacking Tools
  76. Hacking Tools Software
  77. Github Hacking Tools
  78. Hacker Tools Mac
  79. Free Pentest Tools For Windows
  80. Usb Pentest Tools
  81. Hack Tools Mac
  82. Pentest Tools For Ubuntu
  83. Game Hacking
  84. Pentest Tools Review
  85. Hacker Tools For Windows
  86. Hack Tools For Ubuntu
  87. Hacking Tools For Mac
  88. Hacks And Tools
  89. Computer Hacker
  90. Hack And Tools
  91. How To Hack
  92. Hacking Tools Kit
  93. Hack Tool Apk No Root
  94. Install Pentest Tools Ubuntu
  95. Hacking Tools Windows 10
  96. Hack Tool Apk No Root
  97. Hacker Tool Kit
  98. Pentest Tools Find Subdomains
  99. Hack App
  100. Pentest Tools Nmap
  101. Pentest Tools Apk
  102. Physical Pentest Tools
  103. Hacker
  104. Hack Tool Apk
  105. Hackrf Tools
  106. Hack Website Online Tool
  107. Hack Tools For Mac
  108. Hacker Tools For Pc
  109. Hackrf Tools
  110. Pentest Tools Apk
  111. Tools 4 Hack
  112. Physical Pentest Tools
  113. Hacking Tools Windows
  114. Hacking Tools For Windows Free Download
  115. Top Pentest Tools
  116. Hacker Tools Mac
  117. Hacker Tools 2020
  118. Pentest Tools Framework
  119. Hacking Tools 2020
  120. Hack Tools Pc
  121. Hacking Tools For Windows

Search This Blog