ronin 2.0.0.beta3 → 2.0.0.beta5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/README.md +613 -1
  4. data/gemspec.yml +4 -4
  5. data/lib/ronin/cli/commands/asn.rb +2 -2
  6. data/lib/ronin/cli/commands/bitflip.rb +1 -1
  7. data/lib/ronin/cli/commands/decode.rb +39 -0
  8. data/lib/ronin/cli/commands/encode.rb +39 -0
  9. data/lib/ronin/cli/commands/escape.rb +7 -0
  10. data/lib/ronin/cli/commands/grep.rb +1 -1
  11. data/lib/ronin/cli/commands/highlight.rb +1 -1
  12. data/lib/ronin/cli/commands/http.rb +23 -13
  13. data/lib/ronin/cli/commands/irb.rb +3 -2
  14. data/lib/ronin/cli/commands/netcat.rb +6 -2
  15. data/lib/ronin/cli/commands/tips.rb +1 -1
  16. data/lib/ronin/cli/commands/typosquat.rb +1 -1
  17. data/lib/ronin/cli/commands/unescape.rb +7 -0
  18. data/lib/ronin/cli/commands/unhexdump.rb +8 -5
  19. data/lib/ronin/cli/http_shell.rb +1 -1
  20. data/lib/ronin/cli/printing/http.rb +9 -8
  21. data/lib/ronin/cli/ruby_shell.rb +47 -0
  22. data/lib/ronin/cli/string_processor_command.rb +2 -2
  23. data/lib/ronin/cli.rb +1 -0
  24. data/lib/ronin/version.rb +1 -1
  25. data/lib/ronin.rb +2 -1
  26. data/man/ronin-asn.1 +2 -2
  27. data/man/ronin-asn.1.md +2 -2
  28. data/man/ronin-cert-dump.1 +6 -6
  29. data/man/ronin-cert-dump.1.md +6 -6
  30. data/man/ronin-cert-gen.1 +5 -5
  31. data/man/ronin-cert-gen.1.md +5 -5
  32. data/man/ronin-cert-grab.1 +3 -3
  33. data/man/ronin-cert-grab.1.md +3 -3
  34. data/man/ronin-decode.1 +24 -0
  35. data/man/ronin-decode.1.md +18 -0
  36. data/man/ronin-email-addr.1 +2 -2
  37. data/man/ronin-email-addr.1.md +2 -2
  38. data/man/ronin-encode.1 +24 -0
  39. data/man/ronin-encode.1.md +18 -0
  40. data/man/ronin-escape.1 +4 -0
  41. data/man/ronin-escape.1.md +3 -0
  42. data/man/ronin-hexdump.1 +189 -0
  43. data/man/ronin-hexdump.1.md +129 -0
  44. data/man/ronin-http.1 +1 -1
  45. data/man/ronin-http.1.md +1 -1
  46. data/man/ronin-ip.1 +1 -1
  47. data/man/ronin-ip.1.md +1 -1
  48. data/man/ronin-netcat.1 +1 -1
  49. data/man/ronin-netcat.1.md +1 -1
  50. data/man/ronin-new-project.1 +30 -0
  51. data/man/ronin-new-project.1.md +18 -0
  52. data/man/ronin-new-script.1 +9 -0
  53. data/man/ronin-new-script.1.md +6 -0
  54. data/man/ronin-new.1 +16 -0
  55. data/man/ronin-new.1.md +10 -0
  56. data/man/ronin-proxy.1 +13 -7
  57. data/man/ronin-proxy.1.md +9 -7
  58. data/man/ronin-unescape.1 +4 -0
  59. data/man/ronin-unescape.1.md +3 -0
  60. data/man/ronin-unhexdump.1 +27 -0
  61. data/man/ronin-unhexdump.1.md +17 -0
  62. metadata +11 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ca928a3d7ce237881c54bf6649026aac76a69691cb40454f38a499b633b41ba
4
- data.tar.gz: 255f1be3a019826e4707bfc8f29b99ab8df36508f6877169c9064df57d548b9e
3
+ metadata.gz: cb9de0474fa609d9ea978a63c3a24a6c2c365acc13db40dbfdc60d86e90571bb
4
+ data.tar.gz: c0503139e4f1b5fddf7319e4438a160b3b43200ce8c081e2a408d9fe0a458218
5
5
  SHA512:
6
- metadata.gz: d0cada45a152ee3a40ad72865a95cada0b5ebe634e4a264073a62b32327475b46749b9636409ea918a41113f43509bf64b01cd13644bee1c3187eccb4df0bf43
7
- data.tar.gz: 88383a6afa352328f9d716aca814158a07e239296cda1d980de517c44adaad05b3771a837d347c9c9dbf06f03e71c98a4055850d914fed2da25f61fbdc512a22
6
+ metadata.gz: b2e44b4023cabd18f04156ea5b3c2627697ea6878906d45c4ec371d9e5f5dcf832de97f9969415c1ed2860deaa15662ceb227378866b75c90b1fb2dea473cbe5
7
+ data.tar.gz: 964c7fd654dc78ee26d757138b47f26aa57cc5dd6210cfcfa0bb1e401b80c5acc331aa12230e4ccf741eea8eda583b90ea80c285113547cbbbea39239b6b86fb
@@ -21,6 +21,7 @@ jobs:
21
21
  uses: ruby/setup-ruby@v1
22
22
  with:
23
23
  ruby-version: ${{ matrix.ruby }}
24
+ bundler-cache: true
24
25
  - name: Install libsqlite3
25
26
  run: |
26
27
  sudo apt update -y && \
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml/badge.svg)](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml)
4
4
  [![Code Climate](https://codeclimate.com/github/ronin-rb/ronin.svg)](https://codeclimate.com/github/ronin-rb/ronin)
5
+ [![Gem Version](https://badge.fury.io/rb/ronin.svg)](https://badge.fury.io/rb/ronin)
5
6
 
6
7
  * [Website](https://ronin-rb.dev)
7
8
  * [Source](https://github.com/ronin-rb/ronin)
@@ -14,7 +15,7 @@
14
15
  ## Description
15
16
 
16
17
  [Ronin][website] is a free and Open Source [Ruby] toolkit for security research
17
- and development. Ronin contains many different [CLI commands](#snopsis) and
18
+ and development. Ronin contains many different [CLI commands](#synopsis) and
18
19
  [Ruby libraries][ronin-rb] for a variety of security tasks, such as
19
20
  encoding/decoding data, filter IPs/hosts/URLs, querying ASNs, querying DNS,
20
21
  HTTP, [scanning for web vulnerabilities][ronin-vulns-synopsis],
@@ -150,6 +151,617 @@ Open the Ronin Ruby REPL:
150
151
  $ ronin irb
151
152
  ```
152
153
 
154
+ Generate a new Ruby script with [ronin-support] preloaded:
155
+
156
+ ```shell
157
+ $ ronin new script foo.rb
158
+ ```
159
+
160
+ Generate a new Ruby project with a `Gemfile`:
161
+
162
+ ```shell
163
+ $ ronin new project foo
164
+ ```
165
+
166
+ ### Binary
167
+
168
+ Hexdumps data in a variety of formats:
169
+
170
+ ```shell
171
+ $ ronin hexdump /bin/ls
172
+ ```
173
+
174
+ Un-hexdumps a hexdump file back into it's original raw binary data:
175
+
176
+ ```shell
177
+ $ ronin unhexdump -o data.bin hexdump.txt
178
+ ```
179
+
180
+ Print all printable strings from a file:
181
+
182
+ ```shell
183
+ $ ronin strings /bin/ls
184
+ ```
185
+
186
+ Print all alphabetic strings from a file:
187
+
188
+ ```shell
189
+ $ ronin strings --alpha /bin/ls
190
+ ```
191
+
192
+ Print all alpha-numeric strings from a file:
193
+
194
+ ```shell
195
+ $ ronin strings --alpha-num /bin/ls
196
+ ```
197
+
198
+ Print all numeric strings from a file:
199
+
200
+ ```shell
201
+ $ ronin strings --numeric /bin/ls
202
+ ```
203
+
204
+ Print all hexadecimal strings from a file:
205
+
206
+ ```shell
207
+ $ ronin strings --hex /bin/ls
208
+ ```
209
+
210
+ Enumerate through all of the Bit-flips of a domain name:
211
+
212
+ ```shell
213
+ $ ronin bitflip microsoft --alpha-num --append .com
214
+ licrosoft.com
215
+ oicrosoft.com
216
+ iicrosoft.com
217
+ eicrosoft.com
218
+ Microsoft.com
219
+ mhcrosoft.com
220
+ mkcrosoft.com
221
+ mmcrosoft.com
222
+ macrosoft.com
223
+ mycrosoft.com
224
+ ...
225
+ ```
226
+
227
+ ### Encoding
228
+
229
+ Base64 encode a string:
230
+
231
+ ```shell
232
+ $ ronin encode --base64 --string "foo bar baz"
233
+ Zm9vIGJhciBiYXo=
234
+ ```
235
+
236
+ Zlib compresses, Base64 encodes, and then URI encode a string:
237
+
238
+ ```shell
239
+ $ ronin encode --zlib --base64 --uri --string "foo bar"
240
+ %65%4A%78%4C%79%38%39%58%53%45%6F%73%41%67%41%4B%63%41%4B%61%0A
241
+ ```
242
+
243
+ Base64 decode a string:
244
+
245
+ ```shell
246
+ $ ronin decode --base64 --string "Zm9vIGJhciBiYXo="
247
+ foo bar baz
248
+ ```
249
+
250
+ URI decode, Base64 decode, and then zlib inflates a string:
251
+
252
+ ```shell
253
+ $ ronin decode --uri --base64 --zlib --string "%65%4A%78%4C%79%38%39%58%53%45%6F%73%41%67%41%4B%63%41%4B%61%0A"
254
+ foo bar
255
+ ```
256
+
257
+ URI escape a string:
258
+
259
+ ```shell
260
+ $ ronin escape --uri --string "foo bar"
261
+ foo%20bar
262
+ ```
263
+
264
+ URI unescape a string:
265
+
266
+ ```shell
267
+ $ ronin unescape --uri --string "foo%20bar"
268
+ foo bar
269
+ ```
270
+
271
+ Convert a file into a quoted C string:
272
+
273
+ ```shell
274
+ $ ronin quote --c file.bin
275
+ "..."
276
+ ```
277
+
278
+ Convert a file into a quoted JavaScript string:
279
+
280
+ ```shell
281
+ $ ronin quote --js file.bin
282
+ ```
283
+
284
+ Unquote a C string:
285
+
286
+ ```shell
287
+ $ ronin unquote --c --string '"\x66\x6f\x6f\x20\x62\x61\x72"'
288
+ foo bar
289
+ ```
290
+
291
+ ### Text
292
+
293
+ De-obfuscate an email address:
294
+
295
+ ```shell
296
+ $ ronin email-addr --deobfuscate "john [dot] smith [at] example [dot] com"
297
+ john.smith@example.com
298
+ ```
299
+
300
+ Enumerate through all of the obfuscations of an email address:
301
+
302
+ ```shell
303
+ $ ronin email-addr --enum-obfuscations john.smith@example.com
304
+ john.smith @ example.com
305
+ john.smith AT example.com
306
+ john.smith at example.com
307
+ john.smith[AT]example.com
308
+ john.smith[at]example.com
309
+ ...
310
+ ```
311
+
312
+ Extract high-entropy data from a file:
313
+
314
+ ```shell
315
+ $ ronin entropy -e 5.0 index.html
316
+ ```
317
+
318
+ Grep for common patterns of data:
319
+
320
+ ```shell
321
+ $ ronin grep --hash index.html
322
+ ```
323
+
324
+ Extract common patterns from data:
325
+
326
+ ```shell
327
+ $ ronin extract --hash index.html
328
+ ```
329
+
330
+ Generate a random typo of a word:
331
+
332
+ ```shell
333
+ $ ronin typo microsoft
334
+ microssoft
335
+ ```
336
+
337
+ Enumerate over every typo variation of a word:
338
+
339
+ ```shell
340
+ $ ronin typo --enum microsoft
341
+ microosoft
342
+ microsooft
343
+ microssoft
344
+ ```
345
+
346
+ Generate a random homoglyph version of a word:
347
+
348
+ ```shell
349
+ $ ronin homoglyph CEO
350
+ CEO
351
+ ```
352
+
353
+ Enumerate over every homoglyph variation of a word:
354
+
355
+ ```shell
356
+ $ ronin homoglyph --enum CEO
357
+ ϹEO
358
+ СEO
359
+ ⅭEO
360
+ CEO
361
+ CΕO
362
+ CЕO
363
+ CEO
364
+ CEΟ
365
+ CEО
366
+ CEO
367
+ ```
368
+
369
+ Syntax-highlights a file:
370
+
371
+ ```shell
372
+ $ ronin highlight index.html
373
+ ```
374
+
375
+ ### Cryptography
376
+
377
+ AES-256 encrypt a file:
378
+
379
+ ```shell
380
+ $ ronin encrypt --cipher aes-256-cbc --password "..." file.txt > encrypted.bin
381
+ ```
382
+
383
+ Decrypt data:
384
+
385
+ ```shell
386
+ $ ronin decrypt --cipher aes-256-cbc --password "..." encrypted.bin
387
+ ```
388
+
389
+ Generates an HMAC for a file:
390
+
391
+ ```shell
392
+ $ ronin hmac --hash sha1 --password "too many secrets" data.txt
393
+ ```
394
+
395
+ Generates an HMAC for a string:
396
+
397
+ ```shell
398
+ $ ronin hmac --hash sha1 --password "too many secrets" --string "..."
399
+ ```
400
+
401
+ Calculate an MD5 checksum of a string:
402
+
403
+ ```shell
404
+ $ ronin md5 --string "hello world"
405
+ 5eb63bbbe01eeed093cb22bb8f5acdc3
406
+ ```
407
+
408
+ Calculate the MD5 checksum of a file:
409
+
410
+ ```shell
411
+ $ ronin md5 file.txt
412
+ ```
413
+
414
+ Calculate the MD5 checksum of every line in a file:
415
+
416
+ ```shell
417
+ $ ronin md5 --multiline file.txt
418
+ ```
419
+
420
+ Calculate an SHA1 checksum of a string:
421
+
422
+ ```shell
423
+ $ ronin sha1 --string "hello world"
424
+ 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
425
+ ```
426
+
427
+ Calculate the SHA1 checksum of a file:
428
+
429
+ ```shell
430
+ $ ronin sha1 file.txt
431
+ ```
432
+
433
+ Calculate the SHA1 checksum of every line in a file:
434
+
435
+ ```shell
436
+ $ ronin sha1 --multiline file.txt
437
+ ```
438
+
439
+ Calculate an SHA256 checksum of a string:
440
+
441
+ ```shell
442
+ $ ronin sha256 --string "hello world"
443
+ b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
444
+ ```
445
+
446
+ Calculate the SHA256 checksum of a file:
447
+
448
+ ```shell
449
+ $ ronin sha256 file.txt
450
+ ```
451
+
452
+ Calculate the SHA256 checksum of every line in a file:
453
+
454
+ ```shell
455
+ $ ronin sha256 --multiline file.txt
456
+ ```
457
+
458
+ Calculate an SHA512 checksum of a string:
459
+
460
+ ```shell
461
+ $ ronin sha512 --string "hello world"
462
+ 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
463
+ ```
464
+
465
+ Calculate the SHA512 checksum of a file:
466
+
467
+ ```shell
468
+ $ ronin sha512 file.txt
469
+ ```
470
+
471
+ Calculate the SHA512 checksum of every line in a file:
472
+
473
+ ```shell
474
+ $ ronin sha512 --multiline file.txt
475
+ ```
476
+
477
+ ROT-13 encodes a string:
478
+
479
+ ```shell
480
+ $ ronin rot --string "The quick brown fox jumps over the lazy dog"
481
+ Gur dhvpx oebja sbk whzcf bire gur ynml qbt
482
+ ```
483
+
484
+ XOR encodes a string:
485
+
486
+ ```shell
487
+ $ ronin xor --key ABC --string "The quick brown fox jumps over the lazy dog"
488
+ "\x15*&a36(!(a 1.5-a$,9b)4/32b,7'1a6+$b/ 8:a&,&"
489
+ ```
490
+
491
+ ### Networking
492
+
493
+ Query the ASN of an IP address:
494
+
495
+ ```shell
496
+ $ ronin asn -I 4.2.2.1
497
+ 4.0.0.0/9 AS3356 (US) LEVEL3
498
+ ```
499
+
500
+ Get the system's external/public IP address:
501
+
502
+ ```shell
503
+ $ ronin ip --public
504
+ ```
505
+
506
+ Convert an IP address to decimal format:
507
+
508
+ ```shell
509
+ $ ronin ip --decimal 127.0.0.1
510
+ 2130706433
511
+ ```
512
+
513
+ Convert a file of IP addresses into URLs:
514
+
515
+ ```shell
516
+ $ ronin ip --file targets.txt --http
517
+ ```
518
+
519
+ Enumerate over every IP address in the IP CIDR range:
520
+
521
+ ```shell
522
+ $ ronin iprange 10.1.0.0/15
523
+ 10.0.0.1
524
+ 10.0.0.2
525
+ 10.0.0.3
526
+ 10.0.0.4
527
+ 10.0.0.5
528
+ 10.0.0.6
529
+ 10.0.0.7
530
+ 10.0.0.8
531
+ 10.0.0.9
532
+ ...
533
+ ```
534
+
535
+ Enumerate over every IP address in the IP glob range:
536
+
537
+ ```shell
538
+ $ ronin iprange 10.1-3.0.*
539
+ 10.1.0.1
540
+ 10.1.0.2
541
+ 10.1.0.3
542
+ 10.1.0.4
543
+ 10.1.0.5
544
+ 10.1.0.6
545
+ 10.1.0.7
546
+ 10.1.0.8
547
+ 10.1.0.9
548
+ 10.1.0.10
549
+ ...
550
+ ```
551
+
552
+ Enumerate over every IP address between two IP addresses:
553
+
554
+ ```shell
555
+ $ ronin iprange --start 10.0.0.1 --stop 10.0.3.33
556
+ 10.0.0.1
557
+ 10.0.0.2
558
+ 10.0.0.3
559
+ 10.0.0.4
560
+ 10.0.0.5
561
+ 10.0.0.6
562
+ 10.0.0.7
563
+ 10.0.0.8
564
+ 10.0.0.9
565
+ 10.0.0.10
566
+ ```
567
+
568
+ Connect to a remote TCP service:
569
+
570
+ ```shell
571
+ $ ronin netcat -v example.com 80
572
+ ```
573
+
574
+ Listen on a local TCP port:
575
+
576
+ ```shell
577
+ $ ronin netcat -v -l 1337
578
+ ```
579
+
580
+ Connect to a remote SSL/TLS service:
581
+
582
+ ```shell
583
+ $ ronin netcat -v --ssl example.com 443
584
+ ```
585
+
586
+ Connect to a remote UDP service:
587
+
588
+ ```shell
589
+ $ ronin netcat -v -u example.com 1337
590
+ ```
591
+
592
+ Listen on a local UDP port:
593
+
594
+ ```shell
595
+ $ ronin netcat -v -u -l 1337
596
+ ```
597
+
598
+ Opens a UNIX socket:
599
+
600
+ ```shell
601
+ $ ronin netcat -v --unix /path/to/unix.socket
602
+ ```
603
+
604
+ Hexdump all data received from a socket:
605
+
606
+ ```shell
607
+ $ ronin netcat --hexdump example.com 80
608
+ GET / HTTP/1.1
609
+ Host: example.com
610
+ User-Agent: Ruby
611
+
612
+ 00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d |HTTP/1.1 200 OK.|
613
+ 00000010 0a 41 67 65 3a 20 32 35 30 38 30 36 0d 0a 43 61 |.Age: 250806..Ca|
614
+ 00000020 63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 6d 61 78 |che-Control: max|
615
+ 00000030 2d 61 67 65 3d 36 30 34 38 30 30 0d 0a 43 6f 6e |-age=604800..Con|
616
+ 00000040 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 78 74 2f |tent-Type: text/|
617
+ 00000050 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 55 54 |html; charset=UT|
618
+ ...
619
+ ```
620
+
621
+ #### DNS
622
+
623
+ Query DNS records:
624
+
625
+ ```shell
626
+ $ ronin dns -t TXT github.com
627
+ ```
628
+
629
+ Find all registered TLDs for a host name:
630
+
631
+ ```shell
632
+ $ ronin host --enum-tlds --registered github.com
633
+ github.ac
634
+ github.actor
635
+ github.ae
636
+ github.africa
637
+ github.agency
638
+ github.ai
639
+ ...
640
+ ```
641
+
642
+ Find all registered public suffixes for a host name:
643
+
644
+ ```shell
645
+ $ ronin host --enum-suffix --registered github.com
646
+ example.com.ag
647
+ example.ai
648
+ example.al
649
+ example.am
650
+ example.com.ar
651
+ example.at
652
+ example.co.at
653
+ example.or.at
654
+ example.com.au
655
+ example.be
656
+ example.com.bh
657
+ ...
658
+ ```
659
+
660
+ Enumerate over every possible typosquat variation of a domain:
661
+
662
+ ```shell
663
+ $ ronin typosquat microsoft.com
664
+ microosoft.com
665
+ microsooft.com
666
+ microssoft.com
667
+ ```
668
+
669
+ Find all of the registered typosquat domains for a valid domain:
670
+
671
+ ```shell
672
+ $ ronin typosquat --registered microsoft.com
673
+ ```
674
+
675
+ Find all of the typosquat domains with addresses for a valid domain:
676
+
677
+ ```shell
678
+ $ ronin typosquat --has-addresses microsoft.com
679
+ ```
680
+
681
+ Find all of the unregistered typosquat domains for a valid domain:
682
+
683
+ ```shell
684
+ $ ronin typosquat --unregistered microsoft.com
685
+ ```
686
+
687
+ #### SSL/TLS Certs
688
+
689
+ Dump information about a SSL/TLS certificate:
690
+
691
+ ```shell
692
+ $ ronin cert-dump https://example.com/
693
+ ```
694
+
695
+ Download a SSL/TLS certificate from a host and port:
696
+
697
+ ```shell
698
+ $ ronin cert-grab github.com:443
699
+ ```
700
+
701
+ Generate a new SSL/TLS certificate:
702
+
703
+ ```shell
704
+ $ ronin cert-gen -c test.com -O "Test Co" -U "Test Dept" \
705
+ -L "Test City" -S NY -C US
706
+ ```
707
+
708
+ #### HTTP
709
+
710
+ Perform an HTTP `GET` request (with syntax highlighting):
711
+
712
+ ```shell
713
+ $ ronin http https://example.com/
714
+ ```
715
+
716
+ Send an HTTP request with additional headers:
717
+
718
+ ```shell
719
+ $ ronin http --post --header "Authorization: ..." https://foo.bar/
720
+ ```
721
+
722
+ Send an HTTP request with a known `User-Agent` string:
723
+
724
+ ```shell
725
+ $ ronin http --post --user-agent chrome-android https://foo.bar/
726
+ ```
727
+
728
+ Send an HTTP request with a custom `User-Agent` string:
729
+
730
+ ```shell
731
+ $ ronin http --post --user-agent-string "..." https://foo.bar/
732
+ ```
733
+
734
+ Open an interactive HTTP shell:
735
+
736
+ ```shell
737
+ $ ronin http --shell https://example.com/
738
+ https://example.com/> help
739
+ help [COMMAND] Prints the list of commands or additional help
740
+ get PATH[?QUERY] [BODY] Performs a GET request
741
+ head PATH[?QUERY] Performs a HEAD request
742
+ patch PATH[?QUERY] [BODY] Performs a PATCH request
743
+ post PATH[?QUERY] [BODY] Performs a POST request
744
+ put PATH [BODY] Performs a PUT request
745
+ copy PATH DEST Performs a COPY request
746
+ delete PATH[?QUERY] Performs a DELETE request
747
+ lock PATH[?QUERY] Performs a LOCK request
748
+ options PATH[?QUERY] Performs a OPTIONS request
749
+ mkcol PATH[?QUERY] Performs a MKCOL request
750
+ move PATH[?QUERY] DEST Performs a MOVE request
751
+ propfind PATH[?QUERY] Performs a PROPFIND request
752
+ proppatch PATH[?QUERY] Performs a PROPPATCH request
753
+ trace PATH[?QUERY] Performs a TRACE request
754
+ unlock PATH[?QUERY] Performs a UNLOCK request
755
+ cd PATH Changes the base URL path
756
+ headers [{set | unset} NAME [VALUE]] Manages the request headers
757
+ ```
758
+
759
+ Print the HTTP status of every URL in a file:
760
+
761
+ ```shell
762
+ $ ronin url --file urls.txt --status
763
+ ```
764
+
153
765
  ### See Also
154
766
 
155
767
  * [ronin-repos](https://github.com/ronin-rb/ronin-repos#synopsis)
data/gemspec.yml CHANGED
@@ -96,12 +96,12 @@ dependencies:
96
96
  async-io: ~> 1.0
97
97
  wordlist: ~> 1.0
98
98
  # Ronin dependencies:
99
- ronin-support: ~> 1.0.0.beta2
99
+ ronin-support: ~> 1.0.0.beta3
100
100
  ronin-core: ~> 0.1.0.beta1
101
101
  ronin-repos: ~> 0.1.0.beta1
102
- ronin-db: ~> 0.1.0.beta2
103
- ronin-fuzzer: ~> 0.1.0.beta1
104
- ronin-web: ~> 1.0.0.beta2
102
+ ronin-db: ~> 0.1.0.beta3
103
+ ronin-fuzzer: ~> 0.1.0.beta2
104
+ ronin-web: ~> 1.0.0.beta4
105
105
  ronin-code-asm: ~> 1.0.0.beta1
106
106
  ronin-code-sql: ~> 2.0.0.beta1
107
107
  ronin-payloads: ~> 0.1.0.beta1
@@ -40,7 +40,7 @@ module Ronin
40
40
  # -f, --file FILE Overrides the default ASN list file (Default: ~/.cache/ronin/ronin-support/ip2asn-combined.tsv.gz)
41
41
  # -u, --update Updates the ASN list file
42
42
  # -n, --number NUM|AS... Searches for all ASN records with the AS number
43
- # -C XX|None|Uknown, Searches for all ASN records with the country code
43
+ # -C XX|None|Unknown, Searches for all ASN records with the country code
44
44
  # --country-code
45
45
  # -N, --name NAME Searches for all ASN records with the matching name
46
46
  # -I, --ip IP Queries the ASN record for the IP
@@ -96,7 +96,7 @@ module Ronin
96
96
  option :country_code, short: '-C',
97
97
  value: {
98
98
  type: /[A-Z]{2}|None|Unknown/,
99
- usage: 'XX|None|Uknown'
99
+ usage: 'XX|None|Unknown'
100
100
  },
101
101
  desc: 'Searches for all ASN records with the country code'
102
102
 
@@ -107,7 +107,7 @@ module Ronin
107
107
  end
108
108
 
109
109
  #
110
- # Formats a bit-fipped string.
110
+ # Formats a bit-flipped string.
111
111
  #
112
112
  # @param [String] string
113
113
  # The bit-flipped String.